Wget并行。我该怎么做才能提高下载速度?

时间:2014-08-08 04:09:02

标签: unix tcp wget web-crawler

我正在尝试使用wget制作网络抓取工具。爬虫只获取子域的主页,我正在运行它:

cat urls.txt | xargs -n 1 -P 800 -I {} wget {} --max-redirect 3 --tries=1 --no-check-certificate --read-timeout=95 --no-dns-cache --connect-timeout=60 --dns-timeout=45 -q

当我跑步时,我只能获得~5mbps的速度。我正在爬行的服务器有100mbps的带宽连接,可以从20mbps +的各个站点下载文件。

我该怎么做才能加速这个抓取工具?

注意: 名称服务器是Google DNS(8.8.8.8)

我有这些ulimits

ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 254243
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 100024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 254243
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

并尝试过这些速度调整:

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 30 > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range

0 个答案:

没有答案