
1 aladdindingding OP |
2 aladdindingding OP 更改了 ulimit 但是自己做并发测试还是会出现,既然 epoll 是 io 多路复用的方式,为啥 gevent 没有实现呢 |
3 neoblackcap 2021-05-18 16:32:58 +08:00 你问什么堵塞? IO 多路复用都会堵塞主线程 |
4 neoblackcap 2021-05-18 16:35:25 +08:00 @neoblackcap 修正,都是同步非堵塞。至于 epoll,可以尝试直接使用标准库里面的 asyncio |
5 wwqgtxx 2021-05-18 17:02:40 +08:00 via iPhone gevent 目前版本底层是用 libev/libuv 实现的,并不会使用系统 select,建议附上代码给大家复现一下 |
6 ch2 2021-05-18 17:03:16 +08:00 你可以用 select.epoll |
7 monkeyNik 2021-05-18 17:05:37 +08:00 你可以来换我的库~封装了 select 、epoll 、kqueue |
8 aladdindingding OP @neoblackcap python2 的项目,只能用 gevent 。用 asyncio 方便多了 |
9 aladdindingding OP @monkeyNik 大佬贴个地址呗 |
10 aladdindingding OP @wwqgtxx 主要是写代理,gevent 起了个 server 用户请求过来转发连接目标网站,目标网站有返回就立即写回给用户,之前这里的实现就是 gevent 的 select 一直遍历,看哪些有返回就写回给用户。 |
11 monkeyNik 2021-05-18 18:17:56 +08:00 @aladdindingding https://github.com/Water-Melon/Melon 有问题或者意见反馈可以加 QQ 群:756582294 |
12 julyclyde 2021-05-21 17:19:32 +08:00 1 你用 epoll 还是 poll 都不影响出打开文件数的限制 2 你先确定一下是打开文件数限制还是 poll 的 fd 数限制 3 ulimit 我猜你用错了 http://julyclyde.org/?p=578 |
13 aladdindingding OP @julyclyde 用的 gevent select,并发量大的情况下就会出现 select out of range 贴出的文档先 mark 了 下来研究 |