web-dev-qa-db-ja.com

高CPU負荷および高I / O待機時間:Mysqlプロセス

私はその役割と技術にかなり新しいです。センサーからテレメトリデータを受信するネットワークサーバーがあり、テメトリーデータはMYSQLダバターゼに保存されています。デバイスの管理とデータベースのクエリに使用するフロントエンドポータルがあります。

過去数週間、ポータルを開くたびにEC2インスタンスのCPU使用率が高くなっています。通常はサーバーの負荷は正常で、CPLの使用率は中程度です

ここでいくつかのサイトと他の質問を通過すると、私は問題を調査しましたが、この問題を解決する方法を理解できませんでした

TOPおよびIOTOPコマンドのスクリーンショットを以下に示します。 mysqlで発生している読み取り操作が多すぎるようです

誰かが私にどこから始めて解決策を見つけるかについて光を当てることができますか

よろしく

IOTOPコマンドのスクリーンショット: IOTOP command screenshot

TOPコマンドのスクリーンショット: TOP command screenshot

SQL SHOW PROCESSLIST screenshotSHOW FULL PROCESSLIST

3
cjonnala

データベースは多くのテーブルスキャンを実行しています。どのクエリが遅くなっているのかを特定し、インデックスを付けるか、より効率的になるように書き直す必要があります。まず、スロークエリログを有効にします。log_slow_queries= 1 long_query_time = 0

遅いログをmysqldumpslowまたはpt-query-digestに入れます。これにより、最も問題のあるクエリが何であるかがわかり、より良いインデックス付けで十分か、より効率的な方法でクエリを書き直す必要があるかを判断する必要があります。

1
Gordan Bobic