nginxとPHP-FPMの設定【WordPress高速化】

WordPressの高速化のため、nginxとPHP-FPMの設定を変更しようと思う。

まずは、nginxの設定から。

/etc/nginx/nginx.conf内にある。

keepalive_timeout 75;

という部分。 「keepalive_timeout」というのは、アクセスのあった通信を確立しておく時間のことを言うらしい。 上記の設定では75秒は、一旦確立された通信はそのまま確立された状態になるということ。

逆に言えば、75秒間はそこにリソースを割いてしまうことになる。 5秒くらいに減らしてしまおう。ということで、

# diff /etc/nginx/nginx.conf /etc/nginx/nginx.conf.original
27c27
<     keepalive_timeout   5;
---
>     keepalive_timeout   75;

さらに、PHP-FPMも設定を変える。

pm.max_children = 50

これは同時に処理できるプロセス数らしい。多ければ、たくさんのプロセスを同時に処理できるが、今回は小さくしてしまう。

# diff /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.original
70c70
< pm.max_children = 10
---
> pm.max_children = 50

10にしてみた。

これにより

 Load Time 2.53秒 ⇢ 0.451秒

と十分なくらい小さくなったと思う。

※小規模なウェブであるため、設定も小さなものにすることで高速化したと考えられる。大規模なものを組むなら適切な数値を考察する必要がある。