
4GB RAM と 2 つの CPU を搭載したサーバーをセットアップ中です。スタックは CentOS + NGINX + MySQL + PHP (APC 付き) と spawn-fcgi です。これは 10 個の Wordpress ブログに使用され、そのうち 3 つは 1 日あたり約 20,000 回のアクセスを受けます。各 Wordpress インスタンスには W3 TotalCache が装備されています。
いくつか変数を試してみることができます:
- NGINX (worker_processes、worker_connections などの数)
- PHP (php.ini のどのパラメータを変更する必要がありますか? apc はどうですか?)
- Spawn-fcgi (現在、6 つの php-cgi が生成されています。いくつ生成すればよいでしょうか?)
テストせずに判断するのは難しいことは承知していますが、おおよその数字を教えていただければ助かります。
答え1
通常、worker_processes はコア数と同じである必要があります。ブロッキング プロセス (disk_io、長いスレッドなど) がある場合は、それを増やすことができます。
ワーカープロセス * ワーカー接続 = 最大クライアント数
gzip が設定されていることを確認してください。おそらく、サイトによっては rcvbuf や backlog を設定する必要はないので、これらの設定についてはあまり心配する必要はありません。
PHP スレッドに関しては、おそらく 5 ~ 10 個実行するでしょう。502 ゲートウェイ接続エラーが発生し始めたら、それを増やす必要があるかもしれません。
php.ini の場合、デフォルト設定で問題なく動作するはずです。画像やメディアをアップロードする場合は、必要に応じて post_max_size と upload_max_filesize を増やしてください。APC は、すぐに使用できる設定であり、問題なく動作するはずです。
W3 Total Cache を使用しているため、php へのヒット数も削減され、php-cgi への負荷も軽減されるはずです。