ページの読み込みが遅い


8

現在、ページの読み込み遅く、チェックアウトがすべての中で最も遅いです

  • 28リクエスト
  • 18.5 KB転送(残りはディスクまたはメモリからキャッシュ)
  • 終了:15.24秒(ローダーが消え、ユーザーは何かを実行できます)
  • DOMContentLoaded:6.45s
  • ロード:10.28s

チェックアウト/カートのロードは次で終了します:

  • 29リクエスト
  • 28.5 KB転送(残りはディスクまたはメモリからキャッシュ)
  • 終了:6.35秒
  • DOMContentLoaded:1.9秒
  • 負荷:3.79秒

空のカートにはこれがあります:

  • 22件のリクエスト
  • 8.2 KB転送(残りはディスクまたはメモリからキャッシュ)
  • 終了:2.78秒
  • DOMContentLoaded:1.22s
  • 負荷:2.65秒

キャッシュにredisを使用しており、すべてのキャッシュがアクティブです。JavaScriptは、cssとhtmlだけでなく、縮小、マージ、バンドルされています。サーバーは、8つのCPU、16GBのRAM、およびSSDを備えたかなり良い場所にあります。負荷などは、言及されるほど高くはありません。基本的にサーバーはスリープしています...

約80の商品と1つの店舗しかありません。Magentoのコンテンツ部分は使用しません。製品の詳細ページ、チェックアウト、顧客領域(およびバックエンド)だけがMagentoによって提供されます。Magentoの「前」にあるCMSシステムは、メディアを含めて2秒未満でページを提供します。

チェックアウトドキュメントのTTFBがすでに5.66秒であることがわかります。Magentoプロファイラーを有効にするとmagento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body、ほとんどの場合それが原因であることがわかります。正確に何が原因かははっきりしていませんが。ここではプロファイラーはあまり役に立ちません(少なくとも私は)。

magento->routers_match                                                                                                                                                                                                                                                                                            5.347600 5.347600 1  42,063,304 10,485,760
magento->routers_match->CONTROLLER_ACTION:checkout_index_index                                                                                                                                                                                                                                                    5.143997 5.143997 1  15,976,176 10,485,760
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body                                                                                                                                                                                                                                       5.143980 5.143980 1  15,975,304 10,485,760
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->EVENT:checkout_allow_guest                                                                                                                                                                                                           0.000609 0.000609 1  82.464     0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->EVENT:checkout_allow_guest->OBSERVER:checkout_allow_guest                                                                                                                                                                            0.000592 0.000592 1  80.944     0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT                                                                                                                                                                                                                               0.106220 0.035407 3  13,085,544 10,485,760
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_load                                                                                                                                                                                                                  0.000666 0.000666 1  136.56     0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_generate_xml                                                                                                                                                                                                          0.005658 0.005658 1  174.632    0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_generate_blocks                                                                                                                                                                                                       0.099472 0.099472 1  12,755,648 10,485,760
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_generate_blocks->Magento\Framework\View\Layout::Magento\Framework\View\Layout::generateElements                                                                                                                       0.099462 0.099462 1  12,902,296 10,485,760
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_generate_blocks->Magento\Framework\View\Layout::Magento\Framework\View\Layout::generateElements->generate_elements                                                                                                    0.091426 0.091426 1  11,885,184 10,485,760
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_generate_blocks->Magento\Framework\View\Layout::Magento\Framework\View\Layout::generateElements->generate_elements->EVENT:core_layout_block_create_after                                                              0.000169 0.000003 51 -16.128    0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_generate_blocks->Magento\Framework\View\Layout::Magento\Framework\View\Layout::generateElements->generate_elements->Magento\Framework\View\Layout::Magento\Framework\View\Layout::generateElements                    0.000609 0.000609 1  52.76      0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->layout_generate_blocks->Magento\Framework\View\Layout::Magento\Framework\View\Layout::generateElements->generate_elements->Magento\Framework\View\Layout::Magento\Framework\View\Layout::generateElements->generate_elements 0.000455 0.000455 1  26.952     0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->EVENT:layout_generate_blocks_after                                                                                                                                                                                           0.000297 0.000297 1  16.32      0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->LAYOUT->EVENT:layout_generate_blocks_after->OBSERVER:persistent                                                                                                                                                                      0.000279 0.000279 1  14.776     0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->postdispatch                                                                                                                                                                                                                         0.002972 0.002972 1  116.752    0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->postdispatch->EVENT:controller_action_postdispatch                                                                                                                                                                                   0.002913 0.002913 1  110.192    0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->postdispatch->EVENT:controller_action_postdispatch->OBSERVER:customer_visitor                                                                                                                                                        0.002900 0.002900 1  108.656    0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->postdispatch->EVENT:controller_action_postdispatch->OBSERVER:customer_visitor->EVENT:clean_cache_by_tags                                                                                                                             0.001175 0.001175 1  77.784     0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->postdispatch->EVENT:controller_action_postdispatch->OBSERVER:customer_visitor->EVENT:clean_cache_by_tags->OBSERVER:invalidate_varnish                                                                                                0.000516 0.000516 1  35.056     0         
magento->routers_match->CONTROLLER_ACTION:checkout_index_index->action_body->postdispatch->EVENT:controller_action_postdispatch->OBSERVER:customer_visitor->EVENT:clean_cache_by_tags->OBSERVER:invalidate_builtin                                                                                                0.000629 0.000629 1  41.08      0

データベースプロファイラーも有効にしましたが、呼び出しがほぼ120であっても、クエリに1ms以上かかることはありません。しかし、その合計はたった120msになります。

xdebugプロファイルをローカルで生成しましたが、オートローディングでほとんどの時間が無駄になっていることがわかります。しかし、それが「正常」であるかどうかはわかりません。なぜfile_existsが頻繁に呼び出されるのかと思います。印象に残ったように、すべてがプリコンパイルおよびキャッシュされています。composer dump-autoload -o --apcudiをコンパイルして使っています。そしてもちろん、apcは稼働しています。

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

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

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

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

まだ私は今ここで立ち往生しています。TTFBが既に5秒である理由を理解できていないようです。そして私がそれを解決したとしても、説明して修正するのにまだ10秒残っています。現在の私の主な推測は、これらがバックグラウンドブロッキングでのいくつかのxhrリクエストであるということです。つまり。見積もり配送方法は、13秒で約7秒の非常に長いギャップの後に始まり、約647ミリ秒かかることがわかります。それをトリガーするのになぜそんなに長く待つのですか?それが完了するまで、ローダーのアニメーションが表示され、ページが「ハング」しているように見えます。

見積もり発送方法「遅れ」

チェックアウトページの読み込み

どんな入力でも大歓迎です!最大2〜4秒のページ読み込みを期待しています。それが私が始めたものだからです。

編集:私は高いTTFBを修正しました。言ったように、私はキャッシュにRedisを使用しています。セッションキャッシングの場合も、2つの同時実行セッション間のロックアップにつながります。実際には、チェックアウト要求であり、5秒のタイムアウトにつながる見積もり配送要求です。セッションを通常のファイルモードに切り替えました。残念ながら、これは長いロード時間をまったく修正しませんでした!私の現在の最良の推測は、何かが呼び出される前に見積もり配送方法を待たせ、ページをブロックすることです。さらに、すべてのJSを変更せずに延期しようとしました。

Edit2:@ peter-ocallaghanが指摘するように、チェックアウトの読み込みが非常に遅い(+10秒)の問題は、実際にはdev-consoleを開いたときのChrome固有の問題にすぎません。チェックアウト/カートは影響を受けていないようです。


私はそれについてもっと知りません。サードパーティのAPIまたはプラグインを呼び出しているときにこの問題に直面しています。これは、応答がないときに発生しました。
55840

私は現在、干渉する可能性のあるものをすべて排除しようとしています。また、サードパーティのAPIを呼び出しているので、テストのためにそれをオフにしました。変化なし。これまでのところ、ページの読み込みが非常に遅くなる原因を除外することができませんでした。
steros

私は実際に外に出て、Chromeデバッガーを閉じると、時間が「魔法のように」2〜4秒の読み込み時間に(または少なくとも大幅に近く)低下することを推測します。ライブM2サイトの調査中、商人が15秒の読み込み時間をどのように受け入れるか理解できませんでした。最終的に、タイミングメカニズムとしてchromeデバッガーを使用することで、不注意で要求が1桁遅くなることに気付きました。
Peter O'Callaghan

私はこれをテストしていました。ほとんどのページは、少なくとも4秒かかり、最大7秒カートに入れられます。ただし、他のすべてのブラウザでは、少なくとも5秒など、チェックアウトが15秒で読み込まれません。これはクロームのものだと思われます。
steros

セッションキャッシュにmemcachedを使用することで、時間をさらに短縮できました。前述のように、redisを使用しましたが、ロックが発生したため、ファイルに切り替えましたが、ロックもしているようです。そのため、memcachedに切り替えたところ、カートは2番目のロードで約2秒、最初のロードで5〜7秒でロードされました。見積もり配送方法と合計情報がここのブロッカーのようです。何も変更せずにカートをリロードすると、2秒になります。商品を追加するか、金額を変更してカートを更新した場合-> 5〜7秒。
steros 2018

回答:


3

私の主な問題は、何らかの理由でセッションの同時実行が発生しているようです。ドキュメントで提案されているように、Redisでセッションキャッシングを使用しようとしました。

'session' =>
array (
  'save' => 'redis',
  'redis' =>
  array (
    'host' => '127.0.0.1',
    'port' => '6379',
    'password' => '',
    'timeout' => '2.5',
    'persistent_identifier' => '',
    'database' => '2',
    'compression_threshold' => '2048',
    'compression_library' => 'gzip',
    'log_level' => '1',
    'max_concurrency' => '6',
    'break_after_frontend' => '5',
    'break_after_adminhtml' => '30',
    'first_lifetime' => '600',
    'bot_first_lifetime' => '60',
    'bot_lifetime' => '7200',
    'disable_locking' => '0',
    'min_lifetime' => '60',
    'max_lifetime' => '2592000'
  )
),

しかし、セッションロックの問題があるので、これが考慮されると思います。

break_after_frontend

フロントエンド(つまり、ストアフロント)セッションのロックを解除する前に待機する秒数。

常に最大の遅延があることを意味します。5秒。memcachedセッションに切り替えたとき、待機時間が少なかったため、少し改善されました。デフォルトは次の設定です。

memcached.sess_lock_wait_min => 1000
memcached.sess_lock_wait_max => 2000
memcached.sess_lock_retries => 5

これらは、一部の古いphp-memcachedバージョンのデフォルトです。最新バージョンはこれらのデフォルトを提案します:

memcached.sess_lock_wait_min => 150
memcached.sess_lock_wait_max => 150
memcached.sess_lock_retries => 200

これら2つを読んだ後:https : //github.com/php-memcached-dev/php-memcached/pull/350 https://github.com/php-memcached-dev/php-memcached/issues/269

私が試した:

ini_set('memcached.sess_lock_wait_min', 150);
ini_set('memcached.sess_lock_wait_max', 150);
ini_set('memcached.sess_lock_retries', ini_get('max_execution_time') * 1000 / 150);

Magentoのindex.phpで、これは再びプロセスをスピードアップします。約4秒でチェックアウトの負荷がかかります。合計情報が読み込まれるため、カートの速度は少し遅くなり、約5秒かかります。(すべて最初にブラウザのキャッシュを試みないでください)

セッションをロックする問題を修正すると、プロファイルを調べて、session_start()いくつかの呼び出しに対して300〜800ミリ秒の待機がまだあることがわかるので、ロード時間を再び高速化すると思います。


私もこのサテロスにこだわっています。httpsとRedisの回避策としてワニスを使用しています。サイトが遅い。newrelicを調べてきましたが、決定的な答えを見つけることができません。Redisの問題ですか?
Adarsh Khatri

1

可能な最適化:

プロファイラ


0

Solar、Memcache、またはVarnishを使用すると、magentoサイトを高速化できます。


私はRedisとmemcachedを使用しています。Varnishはhttpsをサポートしていないため使用できません。また、回避策の1つを使用したくありません。
steros 2018

@steros自分のプロファイル、ネットワークプロファイルの連絡先情報を表示し、Skypeで私に連絡して支援を受けてください。
Wilson Hauck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.