1

私は数年前からウェブサーバーを実行していますが、最近それが機能し始めました。クエリに時間がかかり、再起動すると問題が解決するため、問題はmysqlにあることを確認しました。しかし、昨夜、サーバーが非常に停止したため、SSH で接続することさえできなかったとき、すべてが私の顔に吹き飛ばされました。

概要: CentOS 5 64 ビット マシン、8 GB の RAM 実行しているもの: LAMP、トラフィックの少ない Web サイト、Minecraft サーバー、teamspeak サーバー。ほとんどの Web サイトは Wordpress を実行しています。メモリと CPU に関しては、MySQL リクエストに異常に長い時間がかかることに気付いた瞬間に、訓練を受けていない私の目に見える問題はありませんでした。MySQL はすぐに使える構成で実行されています。何も変更していません。

そこで、今日 MySQL のステータスを調べ始めたところ、赤い数字がいくつかあることがわかりました。

  • Innodb_buffer_pool_reads 813
  • Handler_read_rnd 19.1k
  • Handler_read_rnd_next 6.3 M
  • Created_tmp_disk_tables 1.1 k
  • Sort_merge_passes 1
  • Opened_tables 12.5k
  • Table_locks_waited 2

残念ながら、これらの数字に関しては、私はまったく無知です。私が奇妙だと思うのは、開いているテーブルだけです。なぜ私が 12,000 のテーブルを開いているのか、私にはわかりませんでした。一覧を見てみると85しかありません。サーバ起動直後の2Kの数字です。

何が間違っている可能性がありますか?それをデバッグするにはどうすればよいですか?

4

1 に答える 1

1

問題がそれをデバッグする方法である場合、これは少し答えだと思います:

  • mysql テーブルの統計を再生成してみてください (subs. question: volumetry とは何ですか?)
  • あなたのtable_cacheを改善してください:特にopened_tableの増加が速く、あなたのRAMがあなたが言っているのと同じくらい大丈夫である場合
  • ハードドライブのステータスを確認してください: フル?
  • 問題の切り分け: sql plus からいくつかの単純なクエリを試してください。

出発点。

よろしく、頑張って

于 2012-06-02T01:31:12.033 に答える