jotcacheなどのキャッシュプラグインを使用する以外に、Webサイトのサーバー応答時間を改善するために何ができますか?
非アクティブな記事のモジュール、プラグイン、コンポーネントをすべて削除しましたが、改善するために他にできることはありますか?
クライアント(ブラウザ)がリクエストに応答するまでの時間について話しています。そして、ページがロードされる時間ではありません。
jotcacheなどのキャッシュプラグインを使用する以外に、Webサイトのサーバー応答時間を改善するために何ができますか?
非アクティブな記事のモジュール、プラグイン、コンポーネントをすべて削除しましたが、改善するために他にできることはありますか?
クライアント(ブラウザ)がリクエストに応答するまでの時間について話しています。そして、ページがロードされる時間ではありません。
回答:
サーバー側のパフォーマンスを向上させるために実行できるいくつかの手順があります。これらの一部は、ほとんどの共有ホストでは機能しないことに注意してください。優れたパフォーマンスを得るには、通常、よりきめ細かい制御が必要です。
他の最適化と同様に、サイトのパフォーマンスに与える影響を測定する必要があります。基本的な最適化には、PageSpeedやYSlowなどのツールが役立ちます(Firefoxバージョンをお勧めします)。より詳細に理解するには、一定期間にわたって稼働中のシステムの実際の応答時間を測定する必要があります。
オペコードキャッシングを有効にする
これはおそらく、サイトのパフォーマンスを向上させるためにできる最大のことです。OpCacheまたはAPCを使用することをお勧めします。これらのキャッシュの構成は、サーバーおよびサイト固有のニーズに基づいてパフォーマンスをさらに向上させるために微調整できますが、インストールするだけですでに大幅に向上します。
PHPバージョンを更新する
新しいPHPバージョンでは、パフォーマンスが定期的に改善されています。さらに、新しいPHPバージョンで実行する場合、Joomlaがより良いコードを使用できる場合がいくつかあります。今日の時点で、パフォーマンスに関心がある場合は、PHP 5.4より古いバージョンのPHPを使用しないでください。
PHP設定
古いバージョンのPHP(<= 5.3)では、オフregister_globals
にmagic_quotes_gpc
してパフォーマンスが無料になるように注意してください。PHP 5.6以降ではalways_populate_raw_post_data
、-1に変更します。
PHP拡張
Joomlaには、欠落しているPHP拡張機能を回避するためのコードが含まれています。これは、これらの拡張よりも常に遅くなります。まともな性能向上のために、以下の拡張機能をインストール:mbstring
、zip
、ftp
gzipを有効にする
サーバー側の圧縮を有効にすると、CPUリソースの帯域幅が犠牲になります。そこにあるほとんどのサイトにとって、これは正しい呼び出しです。テキストデータのみを圧縮するように注意してください。バイナリデータを圧縮すると、帯域幅の利点がなくてもCPUヒットが発生します。Joomla設定で圧縮を有効にすることもできますが、サーバーにこれを処理させる方が良いでしょう。
静的リソースの事前圧縮
私はミニフィケーションについては話していませんが(これも役立ちますが)、NginxとApacheを構成して、既に圧縮されたリソースをサーバーに提供し、gzip圧縮によるCPUヒットを効果的に排除できます。ボーナスポイント:さらに小さいファイルにはZopfliを使用します。
PHPでFastCGIを使用する
より具体的には、を使用する必要がありますphp-fpm
。これにより、ブラウザーが非PHPファイルを要求したときにPHPが起動しなくなります。
適切なキャッシュヘッダーを使用する
Expires
ヘッダーを使用すると、必要なサーバーリソースを大幅に削減できます。最速のリクエストは、やったことのないものです。
一般に、高性能サイトにはNginxを使用することをお勧めします。何らかの理由で絶対にApacheを使用する必要がある場合、ボーナスヒントがあります。
AllowOverrideを無効にする
大量のディスクIO AllowOverride
をNone
防ぐように設定し、
FTPモードを使用しないでください
サイトを読んでいるユーザーには影響しませんが、拡張機能のインストールなどの一部の操作が遅くなります。
未使用の拡張機能をオフにする
これは特にプラグインに当てはまり、これらの多くはリクエストごとに実行されます。メニューとコンポーネントを無効にすることは、利用可能な拡張機能とメニュータイプをリストするときに主に役立ちます。また、Joomlaコアに付属している拡張機能を5分間実行して、使用しない拡張機能を無効にします。
コンテンツの準備をオフにする
多くのカスタムモジュールを使用する場合(mod_custom
自己記述のようにカスタムではない)、それらのコンテンツの準備を無効にできるかどうかを確認します。これにより、処理がいくらか節約されます。
キャッシングを使用する
パフォーマンスを真剣に考えている場合は、キャッシュを有効にする必要があります。多くの匿名ユーザーがいる重いサイトを読むのに特に便利です。ログインしているユーザーは、ほとんどのキャッシュをバイパスします。これらが多くある場合、効果はそれほど大きくありません。
別のセッションハンドラーを使用する
代替のセッションハンドラを使用することにより、より重要なことのためにデータベースを解放できます。ファイル(Joomla設定では紛らわしいことにNoneと呼ばれます)は、ディスクIOが再び増加するのでお勧めしません。APCを使用すると高速になる可能性がありますが、すべてのセッションデータが失われるリスクが高くなります。右中間はMemcacheです。これには追加のプロセスが必要ですが、APCよりも信頼性が高く、データベースにすべてのデータを保存するよりもはるかに高速です。
サイトをシンプルに保つ
Facebookボタンは本当に必要ですか?バナーの後ろに部分的に隠されているため、誰も見ないかわいいアイコンはどうですか?サイトの表示が少ないほど速くなります。また、可能な限り画像の代わりにCSS3を使用してください。
ファビコンを設定する
Internet Explorer 4.0にさかのぼる決定のおかげで、ブラウザfavicon.ico
はユーザーがサイトにアクセスするたびに呼び出されるファイルへのリクエストを行います。持っていない場合、404応答がキャッシュされないため、これにより不必要なIOが発生します。サイトのアイコンをHTMLメタタグで指定するかfavicon.ico
、Webルートに呼び出されるファイルを追加します。ファビコンは必要ありませんか?その場所に1x1ピクセルのサイズの透明なPNGを配置します。拡張子はまだ必要であることに注意してください.ico
。
画像を最適化する
画像、特にPNGファイルを最適化することでどのような節約ができるかは驚くべきことです。あらゆるオペレーティングシステムで利用可能なさまざまなツールがあります。個人的には、OS Xで利用可能なImageOptimを使用します。また、使用している拡張機能を確認することもできます。オープンソースの場合、新しく最適化された画像を含むプルリクエストを投稿してみませんか?
本当に外出したい場合は、ワニスをサイトの前に置くことを検討してください。それはあなたのサイトへのリクエストをキャッシュし、可能であればそれ自身のキャッシュからそれらを提供し、Joomlaに決してヒットしません。複雑なツールですが、強力な機能を備えています。JoomlaはEdge Side Includes(ESI)のような高度な機能を利用しませんが、独自のコードは利用できます。
サイトの応答時間を改善するためにできることの1つは、モジュール設定を更新することです。カスタムモジュール(mod_customを使用)には、コンテンツの準備を有効/無効にするオプションがあります。これにより、カスタムモジュール内のデータコンテンツでコンテンツプラグインを実行できます。適切に使用すると強力ですが、モジュール出力に追加のレンダリング時間が追加されます。実際にカスタムモジュールコンテンツ内でコンテンツプラグインを使用している場合を除き、これをオフにすることをお勧めします。これを行うと、モジュールのレンダリング時間が短縮されます。
設定のスクリーンショット:
注:私の答えがあなたを助けたなら、答えを受け入れるために左のチェックをクリックしてください。
Google Pageの速度でサイトを実行しており、実際にページの応答時間、つまりマークアップがブラウザに送信されるまでの時間を短縮しようとしていると思います。
これらの原因として最も可能性が高いのは、大量のクエリです。デバッグをオンにし、ページの下部を見て、最も重いクエリを見つけて削除または削減します。MySQLサーバーのスロークエリログを利用することもできます。
次に確認できるのはキャッシュです。所有しているサイトの種類に応じて、保守的なキャッシュまたはプログレッシブキャッシュを切り替えることができます。プログレッシブは、ユーザー関連機能を持たないサイトで使用されます。
私が知っていることの助けとなるもの(そのほとんどがリストされています)は次のとおりです。
組み込みのJoomlaキャッシュ(またはサーバー上で有効なAPC)とgzipやロケットテーマのrockboosterプラグインなどのプラグインの組み合わせを使用しました。Amazonアカウントでnonumbers CDNプラグインも使用しています。
これは間違いなく役立ちますが、サイトを監視し、問題のあるコンポーネントのキャッシュを無効にする必要があります。私たちのサイトではCiviCRMをバイパスする必要がありました。キャッシュではうまく動作しなかったからです。Joomlaには、それを処理できるcachecontrolプラグインが付属しています。
また、ローカル資産の削減と適切なキャッシングを検討する必要があります。できることの1つは、CDNプラグインを使用することです。ここに私がお勧めする2つがあります:
'corePHP' jomCDN- https: //www.corephp.com/joomla-products/jomcdn
Joomla!のNoNumbers CDN - http://www.nonumber.nl/extensions/cdnforjoomla
また、上記のいずれでも問題が解決しない場合は、テンプレート、サーバー自体、またはその他の問題により深い問題がある可能性があります。その場合は、誰かを雇って問題を探し出し、解決するのが最善かもしれません。
.htaccessファイルで次のコードを使用することもできます。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.your domain [nocase]
RewriteRule ^(.*) http://your domain/$1 [last,redirect=301]
RewriteEngine on
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript
</ifmodule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
Joomla!を使用して何百ものWebサイトを作成しました。
ほとんどの場合、人々はJoomlaがサーバー上で非常に機能していると考えていますが、私が行った分析によると、Webサイトを高速に保つための最も重要なことはIMAGESとJS / CSSを最適化することです。
JCEのようなJoomlaエディターを使用して、画像のサイズを変更しないでください。photoshopや他のエディターなどの画像エディターを使用して、必要なサイズに画像のサイズを変更します!
私たちは常にPingdomツールを使用してWebサイトの速度を分析し、T3フレームワークの組み込み機能を使用してJS / CSSを最適化します!
未使用のプラグインを削除しましたか?Joomlaは、リクエストでトリガーされたイベントのすべての公開されたプラグインをロードして処理する必要があります。
インストールした拡張機能とJoomla!との相互作用を理解する必要があります。
多くの拡張機能は、コンテンツ、システム、またはユーザーアクティビティを管理してコード機能を開始するプラグインをインストールします。それらのいくつかは不要かもしれません。
k2は、単一言語サイトの実際の出力を生成しない言語関連イベントに応答する多くのプラグインをインストールすることを知っています。これらのプラグインを非公開にすると、処理時間が短縮されます。
OPが探していた答えではないかもしれませんが、誰にも明らかでない場合は言及する価値があります(そして、他の答えはまだこれについて言及していません):メモリ、CPU、ディスク速度などのサーバーリソースを改善します。
共有Webホスティングを使用している場合、「経済」計画から「ビジネス」計画または別のより高度な計画にアップグレードすると、Webサイトで利用できるサーバーリソースが向上し、サーバーの応答時間が短縮される場合があります。より質の高いホスティング会社への移行(混雑の少ない共有Webホスティングサーバーなど)も役立つ場合があります。
優れたホスティングプランは、基本的なホスティングプランに含まれていないパフォーマンスの強化にアクセスできる場合もあります。たとえば、「GrowBig」および「GoGeek」SiteGroundホスティングプランには、サーバーの応答時間を大幅に短縮するのに役立つ動的キャッシュが含まれています。動的キャッシュオプションは、「スタートアップ」プランでは使用できません。