WordPressでメモリを節約しつつ高速化する設定方法
2024/04/18
メモリ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ぐらいまで落とせた。キャッシュも沢山使っているので高速にもなってるように思われる。
関連記事
-
gzip圧縮とキャッシュをhttpd.confで設定する方法
今まで共用サーバーで使っていたWordPressをVPSに移した。せっかくなので ...