MySQL上の複数のデータベースはMySQLサーバーを頻繁にクラッシュさせる

MySQL上の複数のデータベースはMySQLサーバーを頻繁にクラッシュさせる

CentOS 5.5 で MySQL を実行しています。データベース シャーディング アプローチを使用しています。ERP アプリケーションであるため、新しいアプリケーション/会社ごとに約 300 個のテーブルがあります。現在、MySQL サーバーには約 600 個のデータベースがあります。(250 GB、24 GB RAM) ただし、サーバーはかなり頻繁にクラッシュします。1. MySQL と、確実にサポートできるデータベースの数には既知の制限がありますか。他のスレッドやブログを調べましたが、データベースの数と MySQL サーバーのクラッシュ/可用性の明確な分析は見つかりませんでした。

一方、ERP のような複雑なアプリケーションの DB 管理を行ったことがある方からのアドバイスもいただければ幸いです。 2. 信頼できるモデルですか? 信頼性を高めるためにどのように変更しますか?

答え1

まず、何を「頻繁に」と呼ぶのかわかりません。しかし、私の意見では、DB サーバーがクラッシュするべきではありません。この問題の原因を突き止める努力をすべきです。ダウンしているのはサーバー全体ですか、それとも MySQL プロセスだけですか? クラッシュのログは? MyISAM ですか、それとも Innodb ですか?

もちろん、MySQL を失敗させる方法はいくつかあります。最も起こりやすいのは、使用可能なメモリよりも多くのメモリを使用するように MySQL を構成することです (メモリが不足し、ランダムにクラッシュします)。

しかし、あなたの質問に答えると:

  1. 既知の制限事項があり、そのほとんどは OS に起因しています。各 DB は個別のファイルに保存されるため、ファイル ハンドルなどのリソースが不足する可能性があることに注意してください。構成によっては、600 個のデータベースがこれらの制限を超え始め、負荷がかかったときに厄介なクラッシュを引き起こす可能性があります。

  2. ほとんどの ERP インストールは非常に複雑とは言えませんし、処理するデータの量もそれほど多くはありません。私の主な推奨事項は、HW/SW インストールの信頼性を確保することです。深刻な負荷の問題に遭遇しない限り、シャーディング/マスター スレーブなどのセットアップは、複雑さが増すため、セットアップの信頼性を低下させる可能性があります。

関連情報