我正在设置一台具有 4GB RAM 和 2 个 CPU 的服务器。堆栈将是 CentOS + NGINX + MySQL + PHP(带 APC)和 spawn-fcgi。它将用于服务 10 个 Wordpress 博客,其中 3 个每天的点击量约为 20,000 次。每个 Wordpress 实例都配备了 W3 TotalCache。
我有几个变量可以使用:
- NGINX(有多少个 worker_processes、worker_connections 等)
- PHP(我应该更改 php.ini 中的哪些参数?apc 呢?)
- Spawn-fcgi(目前我已经生成了 6 个 php-cgi。我应该有多少个?)
我知道不经过测试就很难说,但如果你能给我提供一些大概的数字,那也会很有帮助。
答案1
worker_processes 通常应与核心数相同。如果您有阻塞进程(disk_io、长线程等),则可以增加该值。
worker_processes * worker_connections = 最大客户端数
确保配置了 gzip。可能不需要为您的网站配置 rcvbuf 或 backlog,因此,我不会太担心这些设置。
至于您的 php 线程,我可能会像您一样运行 5-10 个。如果您开始收到 502 Gateway connect 错误,则可能需要增加该线程数。
对于 php.ini,默认设置应该可以正常工作。如果您要上传图片/媒体,请根据需要增加 post_max_size 和 upload_max_filesize。APC 几乎是一个开箱即用的配置,应该可以正常工作。
由于您使用的是 W3 Total Cache,因此您还消除了一些对 php 的访问,这无论如何都会减少 php-cgi 的负载。