WordPress記事タイトルとURLをコピーするこんにちは。CSチームの坂本です。cacheを利用してWordPressを高速化したいと思います。※EC2の環境、Nginx以外のMySQL、PHP、PHP-FPMの設定などは前回、前々回と同様です。前回までの構成は以下の図のようなイメージです。今回は、Nginxをリバースプロキシとしてフロントエンドに追加します。cacheの設定をおこなうことで、以下の図のような仕組みに変わります。キャッシュがないページにアクセスされたときは、バックエンドにアクセスし、その処理結果をキャッシュします。キャッシュがあるページへのアクセス時はフロントエンドのNginxから直接キャッシュを返します。このような構成にすることで、PHPやDBへのアクセスが減り、レスポンスが速くなります。▲キャッシュが存在しない場合は、バックエンドにアクセスし、キャッシュを作成します。▲キャッシュが存在する場合は、フロントエンドのNginxが直接キャッシュを返します。設定ファイル(nginx.conf)まず、nginx.confのhttpブロックの中にproxy_cache_pathを追加します。proxy_cache_pathはhttpブロックにしか設定できないため、こちらで設定します。/etc/nginx/conf.d/*.conf;}proxy_cache_pathでキャッシュを保存するディレクトリなどを設定します。levels=1levelsはキャッシュを保存するサブディレクトリの階層の深さを設定します。今回のようにlevels1と設定した場合は、/var/cache/nginx/cache/4/d95121ef50f478938544994ae1379xxx、levels1:2と設定した場合は、/var/cache/nginx/cache/4/97/d95121ef50f478938544994ae1379xxx、のような形でキャッシュが保存されます。keys_zone=zone1:4mキャッシュゾーンを指定します。zone1」と指定して対応させます。4mはこのゾーンのキーとデータの情報の格納にメモリを4Mを使うという意味です。inactive=7d7日間アクセスがないキャッシュを削除するという意味です。max_size=50mゾーン内に保存できるキャッシュの最大値を50Mにするという意味です。※事前に/var/cache/nginx/cacheディレクトリを作成してください。設定ファイル(default.conf)次に、default.confを変更します。80番ポートをリバースプロキシサーバーとして使用するように変更し、8080番ポートを追加してこちらをバックエンドのWebサーバーとして使用します。管理画面はWebサーバーにアクセスするようにし、携帯からのアクセスをキャッシュしない設定としました。1d」という設定は正常に同じページにアクセスがあった場合は1日はバックエンドにアクセスせず、保存されたキャッシュを返すという意味です。cacheを利用している場合の速度を比較してみたいと思います。ローカルの環境からabコマンドでベンチーマークの測定をした結果です。※サーバーは両方ともEC2でZoneはap-southeast-1b、Typeはt1.microとなっています。cacheなしすべてのリクエストが完了するのにかかった時間は約5.6秒でした。cacheありすべてのリクエストが完了するのにかかった時間は約1.2秒でした。received約5分の1の速度になりました。cacheを利用しているサーバーでは1~2秒で完了しました。cacheを利用すると手っ取り早くWordPressを高速化することが可能です。WordPressで高速化する方法を検討してみたいと思います。2009-引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。