1

私は約140.000のドキュメントがあるウェブサイトを管理しています。このシステムは、同じセットアップを使用して2年以上問題なく稼働していました。サーバーを新しいインフラストラクチャに移行する必要があり、それ以降、いくつかの異常が発生しています。

すべてのドキュメントには、データベース内のステータスがあります。ステータスコード(int)5は、ドキュメントが削除/削除されたことを意味します。

1時間程度ごとに、約10個のドキュメントのステータスコードが5に変わります。実際のドキュメントは失われませんが、エンドユーザーは使用できなくなります。問題の原因を突き止めようとしていますが、原因が見つかりませんでした。

ドキュメントのステータスを変更できるクエリが2つあります。そのうちの1つを一時的に無効にし、コードベースで削除されたドキュメントのステータスコードを6に変更しました。

ただし、同じ問題が発生し、ステータスコードが6ではなく5に変更されます。

クエリログを有効にして何時間も費やしましたが、非常に短く単純なクエリであるview_countの増加を除いて、削除されたドキュメントに対する更新クエリはありません。ドキュメントは、削除されると同時に誰かから要求されます。ただし、すべてのクエリは選択クエリ(view_countを除く)であり、他のドキュメントとの違いはありません。そして、毎秒何百ものページビューがあります。そのうちの1つだけがランダムに削除されます。

したがって、クエリログで確認できれば、コードベースでその特定のクエリを見つけようとすることができます。ただし、何も表示されません。だから、私は今無知です。

何か提案はありますか?私はこの問題を解決しなければならないので、何でも試すことができます。

新しいシステムは;

Debian 6.0.5 MySQL 5.5.24-PerconaBuildPHP-NGINX-SOLRボックス

4

2 に答える 2

1

JetProfilerまたはPerconaToolkitUPDATEを使用してクエリをプロファイリングし、それらを分析すると、答えが見つかります。

一般的なクエリログは、その特定の更新クエリを見つけるのにも役立ちます。

于 2012-07-14T19:29:11.153 に答える
0

Percona Toolkitは素晴らしいですが、この問題に関連するものは何も表示されませんでした。(tcpdumpなどを含む)

OracleビルドMySQL5.5.25aをインストールしましたが、機能しました。これは私がこれまでに見た中で最も奇妙なバグでした。

于 2012-07-15T18:21:42.227 に答える