网关/调制解调器过载运行一个networking蜘蛛

问题:networking上的所有其他设备在运行时遇到严重的滞后和超时的网页,电子邮件,聊天丢失等。

这是从stackoverflow交叉post,我可能使用了错误的网站!

细节:

为此使用libcurl

Debian 7 – Intel i5 – 8 GB内存

Comcast Business 75/15连接(Cisco DPC3939B)

使用Parallel ForkManager运行75个(testing多达200个)线程

20线程几乎是可以接受的 – 但是对我的需求来说太慢了

超时:CURLOPT_CONNECTTIMEOUT_MS,5000 + CURLOPT_TIMEOUT_MS,10000

循环赛dns使用选项在resolv.conf中旋转

所有的连接都是独立的独立网站 – 这里没有重复使用连接

假设每秒的连接数是线程*超时,我的math是错误的吗?

注意:服务器资源几乎不变 – .10负载平均值,大部分是MySQL跟踪事物。 蜘蛛和服务器的performance完美无缺,如果我愿意的话,我每天可以达到800万次访问。 在这个过程中,实际上只能使用networking去做工作。

多年来,我最大的顿悟就是改变了其他设备使用的DNS服务器,以避免linux盒子正在使用的dns服务器施加任何超时或限制。 这没有我期望的效果。

像我的Windows 7笔记本电脑的其他设备不能访问多个选项卡,网站可能会超时 – 无法运行rsync与大量的小文件传输 – 但可以运行speedtest.net – 一旦它加载可用带宽仍然接近90%买入。 所以下载一个大文件不是问题,但是移动和打开更多的连接是。

我曾经通过dd-wrt路由器连接服务器,以获得更多关于发生什么的信息 – 如果运行200个线程,活动连接最终将达到4096。 我真的觉得网关/调制解调器不能处理所有的连接 – 但是我也觉得每秒100个连接应该是非常可以接受的 – 而且有些东西没有被正确closures。