2017-05-15 11 views
0

アプリケーションへの要求の一部が毎日失敗します。私はすべてのクエリがデッドロックになるたびに知りたい。デッドロックが発生した要求とクエリが見つかりません

AWSでMySQL 5.6を実行しています。

参考までに、ツールのご提案もお待ちしております。

+0

クエリの詳細とサーバーログファイルを提供してください。 –

+0

私はマシンから離れています。モバイルでの作業。できるだけ早く行います。また、デッドロックやテーブルを実際に作成しているクエリを教えてくれるツールは探していません。 – xachela

答えて

0

"show engine innodb status"というクエリを使用して、デッドロック情報をMySQLから直接取得することができます。これはデッドロックに関連する2つのトランザクションをリストします。

高負荷データベースでは個人的にはできません。ですから、私はMonyogを使用しています。このモニターグループには、モニタータブに「InnoDB Deadlocks」というモニターグループがあり、デッドロックが発生した場合にメールアラートを送信します。カウンタの情報は、「新しいデッドロックが検出されました」および「最新のデッドロックが検出されました」から取得できます。 "新しいデッドロックが検出されました"は、最後の2回のデータ取得の間に "SHOW ENGINE INNODB STATUS"によって新しいデッドロックが報告されたかどうかを示し、 "最後のデッドロックが検出されました"は検出された最後のデッドロックに関する情報を示します。

関連する問題