MySQLの問題解決のためのアイデア

データベースレベル

A:問題のチェック一般的なツール

1:msyqladmin:MySQLクライアントは、あなたが操作を管理することができます

2:mysqlshowは:ビューへの強力なシェルコマンドに

3:ショー[SESSION | GLOBAL]変数:データベース・パラメータ情報を表示

4:SHOW [SESSION | GLOBAL] STATUS:ビューステータス情報データベース

5:INFORMATION_SCHEMA:メタデータを取得する方法

6:SHOW ENGINE INNODBのSTATUS:すべての状態のInnoDBエンジン

7:SHOW PROCESSLIST:接続されたすべてのセッションの現在の状態を表示

8:説明:クエリの実行計画を取得

9:ショーインデックス:テーブルのインデックス情報を参照してください

10:スローログ:レコードスロークエリ

11:mysqldumpslow:分析slowlogファイル

 

2:ソリューション

一般的な緊急チューニングアイデア:、突然のビジネスカトンの申請をすぐにシーンを対処するために、通常の業務処理のニーズを実行できません

1:ショーPROCESSLIST。

2:選択IDを説明し、名前STUから名= 'clsn'; #ALL id名年齢性別;

表から番組インデックス、ID = 2-1の機能がセット> 30もたらすSTUからのID、名前を選択します。

3:実施計画の判断、インデックスの問題(存在しないが、合理的である)、または文自体が問題です。

4:「%ロック%」のようなショーの状態;#クエリのロック状態

SESSION_IDを殺す;#は、問題のセッションを殺します。

従来のチューニングのアイデアは:循環的なビジネスケイトンのために、例えば、10〜11は、特に低速すべてのビジネスですが、また、うまく時間をかけて使用することができます。

1:ビューslowlog、分析slowlog、スロークエリ文を分析します。

2:特定の優先順位に従って、ある調査全て遅い文ずつ。

3:トップSQLを分析し、実行、デバッグを説明し、文の実行時間を参照してください。

4:インデックスまたは文自体を調整します。

 

 

システムレベル

A:問題のチェック一般的なツール

CPU方面:vmstatの、SARのトップ、htopの、NMON、Solarisでmpstat。

メモリ:無料、PS-AUX;

IOデバイス(ディスク、ネットワーク):IOSTAT、SS、netstatの、iptraf、iftop、lsofを、

vmstatコマンドの説明:

1)手続きオブジェクト:Rショーどのように多くのプロセスがCPU時間を待っています。Bは、非中断さ睡眠プロセスの数で表示しました。I / Oのを待っています

2)メモリ:swpd表示は、ディスク番号のデータブロックに切り替えられます。データブロックは、ユーザ・データ・ブロックをバッファリングすることは、オペレーティングシステムのデータブロックの数を使用していません。

3)スワップ:ディスクから交換されるデータブロックの量に第2のオペレーティングシステムのメモリ及びディスクメモリから切り替えます。S0とS1は、好ましくは0です。

4)10:B1が第二の装置、B0に書き込まれたデータ・ブロックのデバイス番号から読み出されます。これは、ディスクI / Oを反映します

5)システム:ショーの発生及びコンテキスト切り替え(CS)当たりの()内の割り込み番号の数。

6)CPU:、実行中のユーザーコード、システムコードを表示するアイドル状態、I / OのCPU時間を待っ

iostatコマンドの説明:

コマンドの例:iostatの-dk 1 5

       iostatの-d -k -x 5(稼働率(%UTIL)と応答時間(のawait)を参照してください)

1)TPS:第二の装置当たりの転送回数を。「最初の送信」と「1つのI / O要求。」論理リクエストを複数に結合されてもよい「1つのI / O要求を発行します。」

工場は第によって定義されたIOハードウェア工場の最大数:2)IOPS

3)「最初の送信」要求されたサイズは不明です。

4)kB_read / S:データの量は、第2のデバイス(ドライブを表す)から読み出され、

5)KB_wrtn / S:書かれた第2のデバイスにデータの量(駆動表されます)。

6)kB_read:データの総量が読み取ります。

7)kB_wrtn:データ書き込みの総数量;これらの単位はキロバイトです。

 

2:問題のシステムレベルのソリューション

あなたは最後の良い負荷の高い、低いか良いではと思いますか?実際の生産では、一般的に問題がない限り、90%以下などのCPUを検討しました。

当社は、以下のこれらの特殊なケースを却下しません。

CPU高負荷、低負荷IO

1)メモリが十分ではありません。

2)パフォーマンスの低下ディスク。

3)SQLの問題--->データベース層に、SQLの問題をさらに調査。

4)IO問題(ディスクに重要な、襲撃設計が不十分な、襲撃のダウングレード、ロックは、単位時間に高すぎるTPS)。

5)高すぎるTPS:小さなデータIO、フルテーブルスキャンの多数の多数。

IO高負荷、低負荷、CPU

1)小さなIOが多数書いています:

自動コミット、小さなIOの多数;第二の製造業者によって定義されたIO値IO / PS、ディスク、ハードウェア工場の最大数。

2)大規模なIOの多数は書いている:問題は、SQLの比較的大きなチャンスです

IOと高いCPU負荷を持っています

問題は、ハードウェアまたはSQLではありません。

 

公開された50元の記事 ウォンの賞賛2 ビュー2246

おすすめ

転載: blog.csdn.net/eafun_888/article/details/104738612