【问题标题】:Optimize apache/php for CURL crawler with multi curls为具有多卷曲的 CURL 爬虫优化 apache/php
【发布时间】:2014-03-03 20:22:57
【问题描述】:

我一直在运行具有 500 个打开连接的多卷曲爬虫。 为了获得最佳性能,您对 apache/php 设置有什么建议吗?

这是我的设置:

<IfModule mpm_prefork_module>
    StartServers          50
    MinSpareServers       50
    MaxSpareServers      100
    MaxClients          1500
    MaxRequestsPerChild   0
</IfModule>

【问题讨论】:

    标签: php apache optimization curl


    【解决方案1】:

    以较小的进程限制启动您的爬虫,然后运行此脚本

    ps -C httpd,apache2,apache -o rss --no-header | awk '{a=a+$1; b=b+1} END {print a" "a/b" "b}'
    

    它会显示每个 apache 进程的平均内存使用量。然后你可以根据你的 ram 计算你的结构有多少进程限制。

    【讨论】:

    • 我可以预料到你的 MaxRequestsPerChild 会影响太多内存.. 将其设置为 10 或 100... 并将 ServerLimit 设置为 1500。ps,抱歉英语不好
    • 那个命令给了我这个结果“640600 12319.2 52”,但我不明白这是什么意思???
    • 总共 640Mb,每个进程 12.3 Mb,52 个进程;)
    • 那么,我应该在设置中更改什么?在我的情况下,CPU 过载到 98%,但内存只有 50%
    • 您是在早期的 php 上使用 php 5.5 还是 APC 模块?它会有所帮助
    猜你喜欢
    • 2012-10-19
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 2016-01-17
    相关资源
    最近更新 更多