これは、ほぼ満杯のファイルシステムのパフォーマンスが大幅に(半分に)低下したNetAppのバグを思い出しました。(確かにそれは数年前でした)。
誰もが言った答えはそれによって異なりますが、考え抜く価値があります。
完全なファイルシステムの主な欠点は、空きiノードのリストが断片化され、至る所に存在する可能性があることです。
データベースのハードディスクに保存されるデータには3つのタイプがあります。
- 実際のデータベースファイル。これは、事前に割り当てられた大きなファイルであり、通常は大きなチャンク(たとえば10%)で成長します。
- ログ、継続的に書き込み、削除、書き込みなどが行われているトランザクションログ
- メモリで実行できない大規模なクエリの一時ファイル。
(1)ファイルセット用により多くのスペースを割り当てる場合にのみ空きスペースが必要です。データベースが成長していない場合は、ディスク容量の少ないファイルシステムの影響を受けません。ただし、割り当てている場合は、データベースをすぐに断片化している空きリストに収まらない非常に大きなチャンクを要求し、メモリにデータを準備する必要があるときにシークを引き起こす可能性があります。
(2)OSを使用してスペースの割り当てと削除を管理するログの単純な機能不全。データベースが読み取り専用ではない場合、ログの一定のストリームがあり、頻繁に断片化されますが、それらは低いハードディスク領域に断片化されます。最終的に、これは書き込みパフォーマンスを低下させます。
(3)tempDB、見苦しい記述されたクエリのためにDBが必要な場合、または十分なRAMがない場合、読み取りパフォーマンスでさえディスクバウンドになる可能性があるため、ディスク領域が少ないよりも大きな問題が発生してパフォーマンスの問題が発生します。また、MySQLがtempDBにディスク領域を割り当てる必要があり、ハードディスクが不足した場合も、停止のリスクがあります。
バックアップについて...
- 私が働いたすべての企業は、同じマシンにバックアップを保持しています。復元に関しては(バックアップを気にする人は、復元が重要です)。同じディスク上にあるdbファイルの速度に勝るものはありません。
- うまくいけば、バックアップがローカルだけではないことを確認してください。
要するに、DBの書き込みが重くならない限り、生き残ることができると思います。そうである場合、ディスク容量の不足が問題です。しかし、もし私があなただったら、私は次のことに取り組むのではなく、より早く。
- 十分なRAMがあることを確認する
- DBからのログとすべての一時データの分離。
- OSを分離し、MySqlを残りからインストールします。
可能な場合は、個別のスピンドルとコントローラーを使用します1。
別々のスピンドルが続きます
貧乏人の別のパーティションが続きます。