0

50以上のWebサイトにデプロイされたアプリケーションがあります。これらのサイト全体で、奇妙な動作の一部に気づきました。これを1つの特定のクエリまで追跡しました。非常にまれに、通常は1日に1〜2回、デバッグスクリプトの1つがレポートします

2006 : MySQL server has gone away

このエラーがスローされる理由はいくつかありますが、最も奇妙なのは、スローされるたびに、実行されている同じSQLクエリから発生することです。このクエリには奇妙なことや複雑なことは何もありません。次のようになります。

SELECT `advert_only` FROM `products` WHERE `id` = '6197'

このクエリは、さまざまな製品IDに対して、1日に何万回も実行する必要があるため、毎回失敗することはありません。4台のサーバーにまたがる一見ランダムなサイトでランダムに失敗します。共通点はないようですが、私たちが気付いた小さなことの1つは、特定の1人の人物のIPも追跡しているため、2ページまたは3ページの読み込みで連続して発生することがあるということです。

これは、MySQL5.0.81を実行しているCentOS5サーバー上にあります

4

3 に答える 3

3

これは一種の左側のフィールドですが、ハードディスクのSMARTにエラーがないか確認する必要があります。「その」セクターからの読み取りに問題がある場合は、問題がある可能性があります。あなたがレイドユニットを持っているなら、私はこれについてあまり心配しません。これが問題になる可能性は高くありませんが、本当に困惑しているのであれば、それだけの価値があるかもしれません。

于 2009-11-22T20:34:41.787 に答える
1

http://bugs.mysql.com/bug.php?id=1011で、2番目のコメントは次のように述べています。「「MySQLサーバーがなくなった」エラーは、max_allowed_pa​​cketより長いクエリが原因です。」

ここでそれを修正することに関するいくつかのより多くの情報があります:http://bogdan.org.ua/2008/12/25/how-to-fix-mysql-server-has-gone-away-error-2006.html

于 2009-11-22T18:01:58.737 に答える
0

これは、SQL接続が長時間アイドル状態だったことを意味します。sql-queryの前に実行される遅い操作があるかどうかを確認してください。

于 2009-11-27T11:50:54.360 に答える