勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressでメモリを節約しつつ高速化する設定方法

   2024/04/18  WordPress VPS サーバー

メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いているんだけど、色々調整しないとメモリが苦しい。今後もVPS借りた時に使いそうな設定なのでメモしておく。

 

MySQLの設定

find / -name my.cnfで設定ファイルの場所調べて以下の設定を追記。

[mysqld]
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=24M
query_cache_type=1
key_buffer = 16M
sort_buffer_size = 1M
read_buffer_size = 256K

 

PHPの設定

find / -name php.iniで設定ファイルの場所調べる。

memory_limit = 32M

元々は16Mでやってたけど、つい最近(2014年7月)ぐらいでWordPressのプラグイン更新したら管理画面側が表示されなくなった。なので32Mとした。

 

APCの導入

過去記事を参考に導入。

設定はデフォルトのまま。使用メモリを一旦下げたんだけど逆に遅くなった。

こちらのサイトを見る感じではメモリ1Gで64Mなのでぴったし。

httpd1件あたりのメモリ消費が多少抑えられた気がする。あとWordPressの管理画面が体感的に早くなった。

 

APCよりOpcacheの方がいいかも(2014/7/8追記)

設定方法は下記参照

https://taitan916.info/blog/archives/1744

 

キャッシュ系プラグインの導入

Quick Cacheの導入。旧バージョン(111203)を使用した。

スマホとかはキャッシュさせないよう、MD5のところを以下設定に。

((preg_match("{AdsBot-Google|Android|BlackBerry 9350|BlackBerry 9360|BlackBerry 9370|BlackBerry 9380|BlackBerry 9780|BlackBerry 9790|BlackBerry 9800|BlackBerry 9810|BlackBerry 9850|BlackBerry 9860|BlackBerry 9900|BlackBerry 9930|BlackBerry9500|BlackBerry9520|BlackBerry9530|BlackBerry9550|CUPCAKE|Googlebot-Mobile|bada|dream|froyo|iPhone|iPod|incognito|s8000|webOS|webmate}", $_SERVER["HTTP_USER_AGENT"])) ? "smartphone" : ((preg_match("{DoCoMo/|J-PHONE/|J-EMULATOR/|Vodafone/|MOT(EMULATOR)?-|SoftBank/|[VS]emulator/|KDDI-|UP\.Browser/|emobile/|Huawei/|IAC/|Nokia|mixi-mobile-converter/|DDIPOCKET;|WILLCOM;|Opera Mini|Opera Mobi|PalmOS|Windows CE;|PDA; SL-|PlayStation Portable;|SONY/COM|Nitro|Nintendo}", $_SERVER["HTTP_USER_AGENT"])) ? "featurephone" : ""))

あとはそのサイトの特性によるが以下設定を行った。

  • GetRequests → false(always cache)
  • キャッシュ時間 → 86400

 

apacheの設定

KeepAlive On
MaxKeepAliveRequests 50
KeepAliveTimeout 5
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 50
MaxClients 50
MaxRequestsPerChild 300
</IfModule>

 

画像の最適化

画像を沢山取り扱うサイトをWordPressで運営していて効果的だったのが画像の縮小、最適化。

EWWW Image Optimizerを使うと良い。

特にスマホ側では回線が遅かったりするので画像が多い場合は表示速度けっこう変わる。

 

gzip圧縮とキャッシュの設定

過去記事を参考に導入。

gzipはトラフィックが多いとその分メモリも食うみたいなのでその辺要注意。

 

結果

ここまで対応しrebootかけたところ以前は立ち上がりで700MBぐらいメモリ食っていたのが300MBぐらいまで落とせた。キャッシュも沢山使っているので高速にもなってるように思われる。

 - WordPress VPS サーバー

  関連記事

gzip圧縮とキャッシュをhttpd.confで設定する方法

今まで共用サーバーで使っていたWordPressをVPSに移した。せっかくなので ...