ページのアカウント取得応答長いレコードを解決するための時間

[起源]:

          ユーザーのための今日の機能テストページをクリックし、フィルタボックスサービスでは、遅い状況を周回する、長い時間のためのデータを取得します。Etherealの表示ディスカバリ要求応答時間は超えて10秒! 

 

             

 

 

 

 

 

 

[分析]思考:

 

          ユーザーのテスト環境が1000未満である、要求は10秒の最大応答時間を超え、深刻な問題の異常があります!何百万、何百万人は、それが非常に遅い場合は、テーブルに従った場合は、考えられない~~~

         

 

[トラブルシューティング]:

 

           1は、最初にすべての、このインタフェースモジュール(私たちは30以上のサービス、トラブルシュートは、インタフェースの明確な位置付けがサービスの一部である必要があり、マイクロサービスである)、パケットキャプチャをキャッチするものではに属していることが分かるアカウントサービス

           2、あなたのサービスに移動し、私は時間がかかる最速の方法を表示するには、Linuxのインターフェイスにログインし、印刷問題のSQLを表示することだと思います

           図3に示すように、印刷SQLクエリ時間がかかり、およびSQLを実行するための時間を見つけては、取り10秒!

           図4は、最終的に問題の根本に、応答時間をチェックすると、長すぎるSQLにつながっています。

           5、SQLの問題を発見し、SQL文の実行を見に行く、SQLの使用は(マルチテーブル関連クエリ)機能だけでなく、単一テーブルのクエリデータを結合する左のことがわかりました。

           図6に示すように、非常に大きい(テストデータ)のデータ量を見つけ、関連するサービスの表を参照。

 

[]最終解像度:

 

          上記の調査に続いて、最終的に問題のあるSQLマルチテーブルクエリを見つけるために、データのオーバーロード関連するテーブル、ビューテーブルのデザインは、ページへのインデックスで、インデックスを追加クエリ回クリックしないことが判明し、時間をかけて大幅に改善されています。

          最終溶液は、SQLクエリの時間を強化するために、インデックスを追加することです。

 

 

             

 

 

 

 

          

 

 

 

            

 

おすすめ

転載: www.cnblogs.com/wangxianglong/p/11793343.html