WordPressが重いときの対策方法 その2

以前、WordPressが重いときの対策方法について覚え書きを書きましたが、その後です。以前の記事はこちら。
WordPressが重いときの対策方法
その後、キャッシュの導入で劇的に改善されたのですが、しばらく動かしていると妙に重くなってくることがありました。調べてみると、Apacheのプロセスが増えると重くなるということのようです。当たり前ですが、プロセスが増えれば、メモリが足りなくなる。そして、DBアクセスもボトルネックになっているようです。
Apacheの設定を変更してみたり、MySQLの設定を変更してみたりしたのですが、あまり効果は現れませんでした。
仕方ないかなと思っていたのですが、次のようにしたら劇的に改善されました。

対策1 : iPhone専用ページの生成プラグインをあきらめる

WordPressのプラグインでiPhoneから接続されたときにiPhoneに最適化した専用ページを表示するというプラグインがあります。便利なのですが、これを使うと、キャッシュのプラグインで「モバイル用」の機能をオンにして、キャッシュ対象からiPhoneからの接続時を外す必要があります。
iPhoneからのアクセスが多いとApacheのプロセスが増えすぎてしまい、どうにもならなくなっていました。そのため、iPhone専用ページをあきらめて、キャッシュのモバイル機器サポートをオフにしました。
iPhoneから接続していただいている方には申し訳ないのですが、ご了承ください。
(複数サイト運用にして、サブディレクトリなどでモバイル機器専用サイトを作ってしまうのも一つの方法かなとも思います)

対策2 : botやクローラからのアクセスもキャッシュ対象にしてしまう

WP Super Cacheですが、キャッシュを使用しないユーザーエージェントを指定できますが、デフォルト状態で、iPhoneとiPod touch、各種ボット、各種クローラが設定されていました。クローラなどに常に最新の情報が渡るようにと、これらのリクエストによってキャッシュが作られないようにということだと思うのですが、これを全て削除して、常にキャッシュ作成&使用にしてみました。
悪影響が出るかどうかはしばらく様子見です。
* 二週間ほど経ちましたが、Google検索結果への反映が以前よりも遅くなったような感じですが、他にも問題が起きていません。

対策3 : テーマにかけるものはテーマに書く

プラグインで色々できてしまうのがWordPressの魅力ですが、重くなりがちな要素でもあります。テーマに書いても実現できるものは、プラグインよりもテーマに直接書いてしまった方が良いと思います。

対策4 : キャッシュの有効期限を調整

サイトによって異なると思いますが、キャッシュの有効期限を調整するのも効果的だと思います。例えば、更新が激しくないサイトなら、有効期限を1時間や2時間にしてしまっても良いと思います。

対策5 : Zenbackを導入してみる

関連記事を自動的に表示したいときに、WordPressのプラグインを使うと思いますが、これをいっそのこと外部サービスにしてしまうと、サーバの負荷が軽くなります。このサイトの場合は、Zenbackを導入してみました。ZenbackはJava Scriptベースですし、非同期で提供元のサーバと通信するので記事の表示が重くなりません。
また、他の関連サイトと自動的にリンクされたり、他のサイトからのリンクも期待できるなど結構お得です。はてなやTwitter、Facebookのいいね、などのソーシャル系のサービスとも連携できます。詳しくはこちら。
Zenback
ちなみに関連記事の精度ですが、良いと思います。しかし、確実にリンクしてほしい記事とかは、記事の中で直接書きましょう。

最後に

色々設定した後、一度、MySQLとApacheを再起動することをお勧めします。なるべくアクセスが少ない深夜などに行いましょう。

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

関連記事

  1. iOSシミュレータの終了が重い

  2. Gitへの移行 – その2

  3. Virtual USB AnalyzerとVMwareを使ったUSBパ…

  4. Qt 4.5をVisual Studio 2008と組み合わせる

  5. HistoryEditor 1.5.2 Mac版を公開しました

  6. Confluenceで日報を書く

最近の著書

  1. 基礎から学ぶ SwiftUI

人気記事

最近の記事