我正在尝试优化我的apache和nginx安装,并且一直在寻找关于如何在Apache和Nginx的工作进程中设置正确数量或最小/最大服务器和连接的信息。
我想知道Apache和Nginx是否利用了多核处理器以及如何在Apache和Nginx中设置configuration?
例如,假设我有一个4核心处理器,我应该在nginx中将工作人员设置为4吗? 我应该在apache中设置备用服务器?
关于Nginx。 根据公式设置worker_processes
或多或less是常见的
worker_processes = num_cores * ratio
其中ratio
在1.0和2.0之间,具体取决于负载,硬件等。使用OS实用程序确定是否加载了所有内核以调整ratio
。
是的,你可以在nginx中设置4个工作者,尽pipe如此,除非你知道你在做什么,否则保持连接到最大1024。 (你可以打OS最大文件打开限制)
对于Apache来说,它不是什么秘密http://httpd.apache.org/docs/2.0/mod/worker.html很多是试验和错误,因为它似乎受到Apache正在处理的应用程序的影响。 所以你应该从一些标准开始,并调整加class时间,看看什么最适合你。 这个想法是为了防止apache不得不频繁地启动新的服务器,而另一个则是为了避免有太多闲置的进程。
更进一步的,如果你在同一台服务器上使用nginx作为apache,这将有助于保持每个工作人员只有2和apache和nginx。 对于nginx有时设置工作人员不工作,所以你可以定义CPU亲和力请参阅http://wiki.nginx.org/CoreModule#worker_cpu_affinity
希望能帮助到你