サイトの読み込み速度が非常に遅い


25

クライアントのMagentoサイトページの読み込み速度が非常に遅い。ページの読み込み時間を短縮するにはどうすればよいですか?

サイトのURLはdesibazaar.pkです。

回答:


36

まず、フロントエンドのレンダリングか、実際のスクリプトの実行が遅いかを判断します。Time To First Byteについては、ブラウザーの開発者コンソールで確認してください。これは、スクリプトがサーバーで処理するのにかかる時間です

ここに画像の説明を入力してください

スクリーンショットでは、非常に低い(200ミリ秒)ことがわかるため、この場合、問題はサーバーではなくフロントエンドにあります。それが終わったら、たとえば、最適化する必要があるかもしれません。

いくつかのブースターや修正ではない追加のキャッシュをたたく前に、実際の問題を隠すための単なるパッチやバンドエイドではなく、正確に遅いものを見つけてください。そのためにもいくつかのツールを使用できます。

遅いクエリ

Magentoはデータベースに非常に負荷がかかる可能性があるため、Slow Query Logをオンにすることから始めるのが良いかもしれません。有効にする方法については、この投稿をご覧ください。ログには、X秒より長い時間がかかるクエリが表示されます。

プロファイラー

プロファイラーは、コードで何が起こっているかについての洞察を得るのに役立ちます。Magentoの場合は、Aoe_Profilerから始めることをお勧めします。インストールして電源を入れるだけです。フロントエンドでは、次のような出力が表示されます。

ここに画像の説明を入力してください

結果を展開し、大きな赤いブロックを確認します。これらは、コードの特定の部分を処理するのにかかった実際の時間です。多くの時間またはメモリを消費しているサードパーティのモジュールを探してください。

もう1つの優れたツールはBlack fireです。Aoe_ProfilerはMagentoのモジュールであるため、基礎となるphpプロセスを表示せず、多くのモジュールを含む大規模なインストールでクラッシュする可能性があります。サーバーで黒火が発生します。ハッカソンでは、使用できる黒火でVagrantボックスを設定します。プロジェクトをそこに置いて、それを起動するだけです。使用方法の詳細については、Black fireサイトを参照してください。

最後の1つはおそらく私のお気に入りです:New Relic

残念ながら、有料のサービスですが、プロアカウントの無料試用版を提供しています。サーバーにインストールしてプロファイルを接続した後、データが届くまで数時間待ちます。ショップthoにトラフィックがあることを確認してください。

ここに画像の説明を入力してください

New Relicには推奨できるMagentoのデバッグ方法に関するブログ投稿もあります。また、New Relicの余分なMagentoデータについては、ProxiBlue New Relicモジュールを確認してください。

基本的に、これは、遅いクエリ、PHPのプロセスなど、上記のすべての機能を表示し、簡単なグラフと表で表示します。これにより、インストールの問題点に関する優れた洞察が得られます。

そしてここから 、パフォーマンスの低下の原因がわかったので、次に解決に移ります。遅いMagentoの一部またはモジュールについては、このようなフォーラムまたはGoogleを確認してください。多くの問題がよく知られており、他の問題は以前に解決しています。または、解決策が見つからない場合は、ここに質問を投稿し、調査結果を質問に含めてください


素晴らしい..「BlackFire」についての洞察力に感謝
Kトミー

11

Magentoでのサイト速度の最適化は非常に大きなトピックです。これはあなたを助けることができる1つのリンクです、

http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/

それの要点をとって、

次の2つの側面に集中する必要があります。1。フロントエンドの最適化2.バックエンドの最適化

フロントエンドの最適化

  1. Fooman Speedsterをインストールできます-http ://www.magentocommerce.com/magento-connect/speedster-by-fooman.htmlおよびcss、js mergeを有効にします

  2. adminでMagentoブロックキャッシュを有効にします。

  3. Gzip圧縮を有効にする

バックエンドの最適化

  1. フルページキャッシュ用にVarnishを構成できます

  2. バックエンドで複雑化を有効にします。

  3. カタログ(カテゴリおよび製品)のフラット構造を有効にします


1

あなたが試してみたいと思うかもしれないあなたのサイトをスピードアップするのを助けるために私が見つけたいくつかの小さなトリックがあります:

これを /template/page/html/head.phtml

<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>

次に、/template/catalog/product/list.phtml画像リンクを次のように変更します。

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AQQATUqB0EhKgAAAAxJREFUCNdj+P//PwAF/gL+3MxZ5wAAAABJRU5ErkJggg==" data-src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>

もう1つは、すべてのjavascriptおよびCSSファイルを「Pre Gzip」してから、これをに追加すること.htaccessです。

    <ifModule mod_headers.c>
    ##### serve pre gziped files #####
    # Rules to correctly serve gzip compressed CSS and JS files.
    # Requires both mod_rewrite and mod_headers to be enabled.
    # Serve gzip compressed CSS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.css $1\.css\.gz [L,QSA]

    # Serve gzip compressed JS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.js $1\.js\.gz [L,QSA]

    # Serve correct content types, and prevent mod_deflate double gzip.
    RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
    RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
</IfModule>

1

Magentoは優れたeコマースフレームワークです。たくさんの機能があり、本当にスケーラブルな電子商取引プラットフォームを構築できます。私は最新のプロジェクトでMagentoを使用し、この速度の問題に直面しました。いくつかの研究と修正を行った後、私は本当に私のウェブサイトをスピードアップしました。

サーバーの最適化

  • NginxをWebサーバーとして使用する
  • マスタースレーブレプリカを使用してMySQLを別のサーバーに移動します。AWSを使用している場合は、RDS for MySQLを使用してください。
  • NginxとPhp-fpmを最適化する
  • gzip圧縮を有効にする
  • ブラウザキャッシュを有効にする

Magentoの設定

  • 不要な拡張機能をすべて無効にする
  • CSSファイルとJavaScriptファイルを結合する
  • ログを無効にする
  • Magentoログテーブルをクリーンアップする
  • 外部フルページキャッシュを有効にする

Redisキャッシュ、APCオペコード、フルページキャッシュ拡張機能 をインストールします-PHPアクセラレータをインストールします-バックエンドとセッションキャッシュ用にRedisキャッシュをインストールします-Lesti FPCをインストールします

画像の最適化とYSlow -Webサイトのページウェイトの平均56%が画像で構成されています。製品画像を最適化すると、ダウンロード時間が短縮されるため、ページの速度が劇的に向上します。-gtmetrixまたはPingdomを使用してWebサイトをスキャンし、最適化の提案に従います。

CDNを使用する

あなたは私のウェブサイトでこれに関する詳細を読むことができます:http : //www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/


0

共有ホスティング環境にいる場合、サーバーを完全に制御することはできず、リソースは他のいくつかのWebサイトで使用されるため、適切な速度を達成することは非常に困難ですが、専用サーバー上にあり、完全な管理者アクセス権がある場合は、ニスキャッシュを試してください。

他にできること-

1.JSファイルとCSSファイルを結合する

Magento admin -> System Configuration -> Developer -> Under Javascript Settings”, change Merge Javascript Files to YES.
Magento admin -> System Configuration -> Developer -> Under CSS Settings”, change Merge CSS Files to YES

2. .htaccessファイルの出力圧縮を有効にし、ヘッダーを期限切れにし、ETagを無効にします/programming//a/14745165/3114253

  1. 可能であればCDNを使用する

  2. Magentoのコンパイル機能を使用します。25%-50%のパフォーマンス向上をもたらすと報告されています:[システム]> [構成]。>ツール>コンパイル。

  3. より小さい番号を表示 製品リストページの製品の。

  4. フラットカタログを有効にします。

Magento管理者インターフェイスから、[システム]> [構成]> [カタログ]に移動します。[フロントエンド]で、[フラットカタログカテゴリを使用]を[はい]に変更します。必要に応じて、フロントエンドで、[フラットカタログ製品を使用]を[はい]に変更します。キャッシュをクリアします。


0

フロントエンドを高速化しようとする場合:

  • 画像にCDNを使用し(!)、画像サイズを小さくする
  • CSSとJSを連結する
  • 終了bodyタグの前にJSをロードします
  • 可能な場合は非同期jsロードを使用する
  • 数千のpngファイルの代わりに画像スプライトまたはアイコンフォントを使用する
  • 未使用のCSSを減らす
  • CSSのクリティカルパスを生成する

バックエンド:

  • ワニス(TTFB <15ms)やLestiFpcなどの追加キャッシュを使用します
  • ページ読み込みと複雑なMySQLクエリのプロファイルを作成して修正する
  • .htaccessを介してgzip、etags、ブラウザキャッシュなどをアクティブにします。
  • 単一のサーバーでMySQLを使用する

あなた自身の個人的な利益のためにあなたの招待URLで有料サービスにリンクしないでください。
7ochem 16

0

magento Webサイトの速度を上げるには、まずwww.gtmetrix.comまたはGoogle Page Speed Insightsでスキャンすることをお勧めします。

Google Page Speed Score

その後、何ができるかを決めることができます。ほとんどの場合、次のようになります。

  • 最初のバイトまでの時間を最適化する(TTFB)をサーバーの応答時間を短縮する
  • JavaScriptの解析を延期する
  • 画像を最適化する
  • CSSスプライトを使用する
  • 画像の寸法を設定する
  • CSS / JS / HTMLを縮小する
  • JS / CSSをより少ない数のHTTP要求にマージします

M1とM2を高速化するために34の方法から取られました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.