7

この問題についてしばらくの間 Google で検索しましたが、スクリプトや画像などの外部リソースの読み込み速度ではなく、Joomla の速度について説明している記事が 1 つも見つかりません。私の Apache + PHP セットアップは非常にうまく機能しています。圧縮が有効になっており、ローカル仮想マシンを使用して実行しています。問題はサーバー側の Joomla にあり、そのソースを追跡する方法がわかりません。

私のローカル Joomla セットアップのページは、読み込みに常に2 ~ 3 秒かかります。Chrome デベロッパー ツールの [ネットワーク] タブによると、ブラウザは HTML ページを約 2 秒間待機し、その後、約 0.3 秒ですべての外部リソースを読み込みます。これは、管理者ページであっても、すべてのページに当てはまります。これは、リンクをクリックするたびにかなり長い待ち時間が続くため、非常に苛立たしいページサーフィンにつながります. 説明のために、読み込み速度グラフのスクリーンショットを次に示します。青い線は HTML ページです。

図

リクエストごとに 2 秒の処理が必要な Joomla とは何ですか? Joomla はこれだけ遅いのでしょうか、それとも私のセットアップに何か問題があるのでしょうか? もしそうなら、どうすればデバッグできますか?


私が試したこと

  • Joomla のセットアップとは完全に別の PHP ページを作成し、<?php phpinfo(); ?>すべての PHP スクリプトが 2 秒の遅延の影響を受けないことを確認するためだけにそれを埋めました。そうではありません。
  • 「127.0.0.1」と「localhost」の両方でローカル MySQL サーバーに接続し、Joomla データベース内のすべてのテーブルを出力する小さな PHP スクリプトを作成して実行しました。スクリプトはほんの一瞬で実行されるため、データベースへの接続時に DNS の問題が発生することはありません。

フロントページをロードするための Joomla プロファイル情報:

アプリケーション 0.000 秒 (+0.000); 0.81 MB (+0.807) - afterLoad
アプリケーション 0.217 秒 (+0.217); 2.29 MB (+1.479) - 初期化後
アプリケーション 0.296 秒 (+0.079); 4.34 MB (+2.055) - afterRoute
アプリケーション 0.640 秒 (+0.345); 5.59 MB (+1.247) - afterDispatch
アプリケーション 0.705 秒 (+0.065); 5.85 MB (+0.266) - beforeRenderModule mod_menu (メインメニュー)
アプリケーション 0.774 秒 (+0.069); 5.91 MB (+0.053) - afterRenderModule mod_menu (メインメニュー)
アプリケーション 0.774 秒 (+0.000); 5.90 MB (-0.009) - beforeRenderModule mod_menu (すべてのフロント エンド ビュー)
アプリケーション 1.004 秒 (+0.229); 6.05 MB (+0.147) - afterRenderModule mod_menu (すべてのフロント エンド ビュー)
アプリケーション 1.004 秒 (+0.000); 6.03 MB (-0.016) - beforeRenderModule mod_menu (ユーザーメニュー)
アプリケーション 1.035 秒 (+0.032); 6.05 MB (+0.021) - afterRenderModule mod_menu (ユーザーメニュー)
アプリケーション 1.036 秒 (+0.000); 6.04 MB (-0.010) - beforeRenderModule mod_menu (ディープ メニュー)
アプリケーション 1.058 秒 (+0.023); 6.06 MB (+0.017) - afterRenderModule mod_menu (ディープ メニュー)
アプリケーション 1.059 秒 (+0.000); 6.05 MB (-0.010) - beforeRenderModule mod_menu (当サイト)
アプリケーション 1.092 秒 (+0.034); 6.06 MB (+0.014) - afterRenderModule mod_menu (当サイト)
アプリケーション 1.092 秒 (+0.000); 6.05 MB (-0.013) - beforeRenderModule mod_login (ログインフォーム)
アプリケーション 1.116 秒 (+0.024); 6.07 MB (+0.023) - afterRenderModule mod_login (ログインフォーム)
アプリケーション 1.116 秒 (+0.000); 6.07 MB (-0.002) - beforeRenderModule mod_breadcrumbs (ブレッドクラム)
アプリケーション 1.143 秒 (+0.027); 6.09 MB (+0.021) - afterRenderModule mod_breadcrumbs (ブレッドクラム)
アプリケーション 1.143 秒 (+0.000); 6.09 MB (-0.003) - beforeRenderModule mod_menu (トップ)
アプリケーション 1.179 秒 (+0.035); 6.12 MB (+0.028) - afterRenderModule mod_menu (トップ)
アプリケーション 1.179 秒 (+0.000); 6.10 MB (-0.012) - beforeRenderModule mod_search (検索)
アプリケーション 1.207 秒 (+0.028); 6.13 MB (+0.028) - afterRenderModule mod_search (検索)
アプリケーション 1.236 秒 (+0.029); 6.15 MB (+0.014) - afterRender

「afterInitialise」、「afterDispatch」、および「afterRenderModule mod_menu (すべてのフロント エンド ビュー)」の手順には、それぞれほぼ 3 分の 1 秒かかることに注意してください。これらの各ポイントは、スクリプト全体の実行を受け入れるよりも長く実行されます。それらを減らす方法についての手がかりはありますか?

この質問がすぐに閉じられないほど具体的であることを願っています。より具体的にするために私にできることがあれば、コメントしてください。

4

5 に答える 5

5

joomlaはただ遅いだけです(私はこれのためにマークダウンされることを期待しています)が、そうです. モジュールと FastCGI の両方として、nginx で試してみました。

joomlaが肥大化しているようです。個人的には、単純な CMS の目的で使用する場合、初心者には wordpress を、上級ユーザーには drupal をお勧めします。

于 2013-02-27T23:06:42.890 に答える
1

システムオプションでさまざまなレベルのキャッシュを有効にすると、より良い結果が得られました。キャッシュを使用しないと遅くなります。

于 2013-02-27T23:11:18.360 に答える
0

localhost (windows) で joomla 2.5 を実行すると、管理者タスクで最大 8 秒かかりました。最後に、パフォーマンスを向上させるために、いくつかの php 拡張機能を無効にする必要がありました。元。php_pdo_oci.dll 、 php_pdo_mysql.dll など 必要なものだけを操作してみてください。

于 2013-11-07T08:10:27.293 に答える
0

はい、ワードプレスと比較すると、Joomla は結果の html をクックするのに時間がかかります。なんで?Web サイトを単なるブログ以上のものにするための強力なフレームワークを提供するからです。

于 2014-10-10T23:08:41.733 に答える