
1 markmx 2017 年 3 月 6 日 换个好路由器. |
| td width="auto" valign="top" align="left"> |
3 onetrlee 2017 年 3 月 6 日 1L+1 如果有在用路由,先尝试不用路由,再跑一下.如果有用光猫把光猫改成桥接,直连电脑然后电脑拨号跑一下试试. 我前段时间也是写爬虫,就是这个问题,最开始,1 秒撑死直接处理不到 1000 个请求,上行带宽只用了不到 10M.后来去掉路由有提升但是还是没跑满,又把光猫改成桥接电脑直接拨号,问题就解决了. 所以,如果你确定代码没问题的话,检查一下自己网络会经过的设备,挨个排查吧. |
4 imn1 2017 年 3 月 6 日 可以确认 LZ 不玩 P2P ,是个好孩子 |
5 hihihihihi OP 我也怀疑是路由器,这个是华为的 3000 多的路由器,按说不至于这么脆弱啊。 我确实在阿里云上测试过,毫无压力。 |
6 hihihihihi OP 说错了, netgear 的路由器 |
8 hihihihihi OP |
9 8355 2017 年 3 月 6 日 肯定是路由器设置问题. 找找一般抗攻击之类的设置. |
10 ericbize 2017 年 3 月 6 日 不要开 Qos , 网件的 Qos 好奇怪,连测速的都给搞一下。 |
11 hihihihihi OP @ericbize 我没有开 Qos |
12 sola97 2017 年 3 月 6 日 via Android 记得以前用 zmap ,速度过快就全堆内存里了, 24G 内存堆满就报错,网卡还要处理十分钟 |
13 yxqcyl 2017 年 3 月 6 日 楼主广东人? |
15 webcoder 2017 年 3 月 6 日 端口刷太多,然后不释放,锁死了?? |
16 Sh888 2017 年 3 月 6 日 家用宽带应该有最大连接数限制吧。 |
17 dsg001 2017 年 3 月 6 日 本机 gevent+requests 跑百万 url 没问题,路由器应该事设置有问题吧 |
18 bertie55 2017 年 3 月 6 日 |
19 qydyhyn 2017 年 3 月 6 日 用软路由试试吧! |
20 nicevar 2017 年 3 月 6 日 via iPhone 量太大了,家用路由器扛不住的,我的 R8000 和 6300 被我跑崩好多次 |
21 hihihihihi OP 最后发现, 路由器表示不背锅, 是我的程序写的有问题 在 gevent 调用的函数里面,我直接用的 Requests.get 来下载页面,这个方式下不能复用连接,也没有主动去调用关闭,所以程序保持了几千个服务器之间的连接,最后把路由器玩死了。 现在修改成用 session 来 get ,一切完美了,速度也快了好多。 nCount = 50 connection_limit = nCount adapter = requests.adapters.HTTPAdapter(pool_cOnnections=connection_limit, pool_maxsize=connection_limit) session = requests.session() session.mount('http://', adapter) fetchpool = Pool(nCount) for job in jobs: fetchpool.spawn(self.foobar, session, job) fetchpool.join() def foobar(self, session, job): session.get(......) 不过,之前也没留心,我的路由器也有一些问题,非常不稳定,尤其是 wifi ,干扰严重,即使我已经选择了别人都没有用的 channel |
22 skylancer 2017 年 3 月 7 日 via Android 几千的连接就能跑挂.. 我是建议先把渣渣网件固件换了 啊 8500 啊,那再见... |
23 log4geek 2017 年 3 月 7 日 |