私がリリースしたばかりのこのWordPressベースのWebサイトは非常に遅いです。
私は自分のテーマを大いに最適化し、91/100のページスピードを得ましたが、最初にバイトするのは犯人です:それは8から20秒かかります。
W3 Total Cache、memcache、APC、eAccelerator、xCacheをインストールしましたが、このサイトは非常に低速です。
サーバー:CentOS 5.7(x86_64)、2G RAM、CPU:1インテル(R)Celeron(R)CPU 2.80GHz Mysql 5.1 PHP:5.2.7 Apache 2.2
可能であれば、PHPを5.4.xブランチに更新してください。
キャッシングレイヤを追加する前に、MySqlとPHPのパフォーマンスを低下させる要因を特定する必要があります。
WP_Debugを有効にしてPHPエラーを排除する必要があります。未定義のインデックス、構文エラー、廃止予定の関数を探してください。
最初の20秒から20秒は、PHP、MySql、WordPressのすべてに関連しています。それは、不十分に書かれたコードからの悪いメモリリークや極端に長いクエリ時間のように聞こえます。高価なクエリはありますか。 meta_query?
私は Debug Bar と Debug Bar Extender プラグインをインストールすることをお勧めします。プロファイリングを有効にし、特別なクエリの前後のようにテンプレートのさまざまな部分でチェックポイントを設定します。
チェックポイントを設定するには、次の関数を使用します。dbgx_checkpoint( $note="" )
チェックポイントがインストールされている場所を一覧表示するには、$ note変数を使用します。
プロファイラは実行時間とメモリ使用量を記録して問題を特定します。
WordPressオブジェクトキャッシュプラグインを使用している場合は、オブジェクトキャッシュの明確な画像も表示されます。
また、APC、eAccelerator、xCacheのすべてが同時に動作するわけではなく、あなたがそれを試すとあなたのサイトを破壊するでしょう(私はあなたがおそらくあなたがそれらのそれぞれを試したことを意味すると確信しています)。
問題がサーバーに関連したものではなく、(カスタム)テーマ内のエラーまたは不適切なコードで構成されていることがわかった場合は、それを確認することを強くお勧めします。
WP_DEBUGをtrue に設定し、 this プラグインをインストールします。それは使うのが単なる喜びです、そしてそれは修正されるべきであるか、または変更されるべきであるすべての主要な(そしてさらにマイナーな)断片、セレクター、関数などをリストするでしょう。
そして、あなたはyahoo Yslowをしましたか - 最初に何個のhttpリクエストがロードされたかを見てください(何もキャッシュされていません)
それはまた、uができることを識別するのに役立ちます - 例えば、イメージを滑らかにするなど
私も同じような状況にありました。私の場合、それはしばらくの間更新されていないカスタムメイドのテーマでした。私はテーマをデフォルトのTwentyTenテーマ(テスト環境で)に変更し、それからテーマコードを修正/更新するように開発者にしました。
htaccess
にmod_deflate
を使用すると、手動でコンテンツをキャッシュ可能にすることができます。 CDNは、訪問者の場所に基づいて静的コンテンツを配信したい場合に適しています。
それらのプラグインはまったく良くありません。あなたがコードと最適化に慣れているならば、あなたはそれらを使わないでください。 P3プラグインスキャナーは、どのプラグインが重すぎるのかを示すものです。
apc.shm_size=256M
すでにリストされているすべてのデバッグ情報を利用することに加えて、リファクタリングする必要があるかもしれない1つのプラグインを見つけるのを助けるためにあなたのプラグインを無効にして系統的にそれらを元に戻すことを試みなさい。これはテーマにも当てはまります。 WPの2011年のテーマのクリーンコピーに切り替えてみてください。
はい、私はチュートリアルを始めた私のウェブサイトのために同じ問題に直面しました。私は PageSpeedOptimizer.com から生成された詳細な分析レポートを使用しましたが、私のウェブサイトが直面している最大の問題は画像が重いことと、ブロッキングをレンダリングします。キャッシュレバレッジの問題さえありましたが、私はそれを取り除きました。それであなたはそれをチェックすることもでき、そしてレポートに述べられているように問題を解決することができます。
すべてのプラグインを無効にしてそこで速度をテストしてみましたか?通常これがサイトに大きく影響する可能性がある非効率的なコードは、貧弱にコード化されたプラグインにあります。それでも問題が解決しない場合は、すべて無効にして、パフォーマンスが大幅に変化するかどうかを確認してください。
あなたは良いキャッシュツールを使っているので(それらが正しくセットアップされていて、お互いに戦っていないことを確認してください)、あなたの主な問題の原因はほとんどどこかの悪いクエリにあることになるでしょう。 WordPressやDrupalのような高品質のCMSのコアをコーディングする人たちは、通常、素晴らしい仕事をします - 完璧ではない、コードはこれまでありませんが、コアCMSコードはプラグインコードより10倍優れています。
Varnishを試してください。ただし、eAcceleratorをmemcachedにしたとき、またはxcacheを有効にしたときには同時に使用しないでください。 APCは問題ないはずですが、注意が必要です。 Varnishは、そのページがすでにロードされている場合にアプリケーションに到達する前に要求を傍受するリバースプロキシーキャッシュです。これにより、パフォーマンスが大幅に向上しました。
あなたはあなたのW3 Total Cache設定に入りたくなるかもしれません、そして単にすべてのオプションを可能にする代わりにいくつかの異なる組み合わせを試してください。 DBキャッシングは通常非常に役に立ちます、そしてAPCオペコードキャッシュは35%のパフォーマンス向上のためにほとんど常に良いですがLAMPスタックのphp側だけのために。
W3 Total CacheにはCloudFlareの設定があり、私はそれを遅いサイトで撮影しました。無料の層があり、それはまだ私にとって非常にうまく仕事をしています。彼らはあなたのDNSサーバを彼らのものに変更するようあなたに頼むでしょう、それは大したことではありません。アクセスポイントを地理的に分散させた超高速サーバーでメディアファイルやその他の種類のコンテンツをホストすることで、ホップ数を減らすことができます。それはあなたのデータベースの問題に正確には当てはまりません、しかし私が見つけることができるどんな費用対効果の高い(別名無料の)改良を使用するでしょう、そしてそれは違いを生じます。
CloudFlareを使用するには、無料アカウントを作成するか、より高いサービスレベルにアップグレードする(速度ではなく機能を追加する)だけで、指示に従ってW3 Total Cache設定ページの適切なボックスにAPIキーを差し込むだけです。 。
PS私はクラウドフレアには関心も関心もありません。他にもたくさんのサービスがあると確信していますが、W3 Total Cacheとの統合は非常に単純になり、その結果には非常に感銘を受けました。
私は複数のサイトを運営していますが、いくつかのサードパーティのテーマが異なる時間に実行されていたものもありますが、同様の問題がありました。私にとっての問題は、ほとんどの場合、テーマとプラグインの競合です。
例:1つのサイトで30以上のプラグインが実行されていて、サードパーティのテーマが実行されていました。新しいテーマに変更し、1つのサイトがVPSの電力を使い果たし始め(ほとんどのサイトを単一のVPSで実行している)、すべてのサイトの速度が低下し始めました。本当に素晴らしいのは、テーマ/プラグインの衝突がシステム全体を破壊する可能性があることです。だから私の考えでは、プラグインをチェックすることに関するすべてのアドバイスは良いアドバイスです。私は今サイト上で13個のプラグインしか実行していません(bbpress/buddypressやその他の必需品)。
自分でできる場合や開発者にやらせる場合は、テーマを変更して以前のプラグインが行っていたことを実行すれば、はるかに効率的なシステムになります。