scrapy 的性能问题。

2017-05-24 10:56:33 +08:00
 xiaoyu9527

爬取同 1 目标站

看起来是加载了 CF

法国的 OL 服务器 CZ2750 8G 128G SSD 可以跑到 100M 1W P/S 美国的渣渣服务器 AMD 1853 8G 5TB HDD 只能跑到 6M 500 P/S

到底是什么原因

2702 次点击
所在节点    Python
19 条回复
xiaoyu9527
2017-05-24 10:56:51 +08:00
规则什么都一样的。

看 ping 的时间也差不多。
xiaoyu9527
2017-05-24 11:00:29 +08:00
两台都是独服

美国这台 CPU 始终只能跑到 2%左右
而法国这台 CPU 可以跑到 40%左右

我给美国开的线程数远远大于法国

法国的系统是 Centos7

美国的系统是 Centos6.9

Python 系统都是 3.61

我是哪里配置的问题么?
xiaoyu9527
2017-05-24 11:01:28 +08:00
两边都是 1G 带宽。

而且带宽质量都还不错。
xiaoyu9527
2017-05-24 11:03:45 +08:00
我现在排查问题 认为唯一的可能性就是 Centos 6.9 是不是有什么并发限制。

否则差距也太大了。 即便 CPU 内存 硬盘的性能上有差距

但是 CPU 怎么都应该跑起来吧。
yeyuexia
2017-05-24 11:10:09 +08:00
线程数少一点试一试?
xiaoyu9527
2017-05-24 11:17:46 +08:00
@yeyuexia 默认我是从法国那台机器复制过来的配置文件就是 32 线程。 结果不理想我才加倍到 64 线程的。
xiaoyu9527
2017-05-24 11:18:43 +08:00
15 packets transmitted, 15 received, 0% packet loss, time 14335ms
rtt min/avg/max/mdev = 8.771/8.809/8.910/0.058 ms

9 packets transmitted, 9 received, 0% packet loss, time 8009ms
rtt min/avg/max/mdev = 0.980/1.047/1.122/0.047 ms

一个是 8ms
一个是 1ms

我觉得网络速度不是问题。
xiaoyu9527
2017-05-24 11:21:56 +08:00
有没有大佬来给带带路呀
yinliang
2017-05-24 14:00:05 +08:00
换成 centos 7 试试看
xiaoyu9527
2017-05-24 14:27:04 +08:00
@yinliang 那台美国的做不成 CENTOS7
Yc1992
2017-05-24 15:05:03 +08:00
测一下两台机器的 io
xiaoyu9527
2017-05-24 15:37:50 +08:00
@Yc1992 IO 没问题。 奇怪了。 我在 LA 的独服开了一台 VPS。

竟然也只有 4MS

真是奇怪了。 是不是因为法国的是源服务器? 所以速度就比较快?
dsg001
2017-05-24 15:53:16 +08:00
相同配置、目标站,出现这种问题应该不是 scrapy 的问题
服务器限速?
目标站对不同区域 IP 限速?
xiaoyu9527
2017-05-24 15:56:43 +08:00
反复尝试。单一进程抓取速度只有 4mbps 好奇怪。
xiaoyu9527
2017-05-24 15:57:21 +08:00
@dsg001 目标站是挂在 CF 的 CDN 上的。 对不同 IP 限速。 真的可能么?
xiaoyu9527
2017-05-24 18:04:54 +08:00
有没有牛人给分析一下什么问题?
xiaoyu9527
2017-05-24 19:10:28 +08:00
找到原因了。。。 还真是 CPU 的原因。
我的 LA 那台 VPS 开启 8 个 CPU 就可以跑到 100M 了。。

真是见鬼了。。
xiaoyu9527
2017-05-24 19:14:18 +08:00
难道是 AMD 的 CPU 调度太差了?
xiaoyu9527
2017-05-24 20:35:28 +08:00
NFS 挂载以后 只能跑到 7mbps。

与本地磁盘可以跑满 100M 简直差距巨大

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/363414

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX