SSDの寿命は、挿入、更新、削除操作によって書き込まれたバイト量によって主に決まります。大量の書き込みデータベース環境で使用した場合にSSDの寿命を推定するためにこれを使用できるように、MariaDB 5.5によって毎日書き込まれているデータ量を正確に決定する最良の方法は何ですか?
現在の設定では、すべてのテーブルがInnoDBです。使ってもいいですか Innodb_data_written
およびUptime
を使用して、1日あたりに書き込まれるバイトの大まかな考え方を判断します。それとも、より良い方法がありますか?
追跡する書き込みが非常に多い
データの書き込みは、
LOAD DATA INFILE
.ibd
)SSDの寿命に関心がある場合は、InnoDBの一部のパーツをSSDから離れて高速HDDに移動してみてください。どこに行くの?
.frm
ファイル.ibd
ファイルSSDとHDDの間で分割ロギングメカニズムを移動することに関する私の以前の投稿の一部を以下に示します
Jun 25, 2013
: Intel S3700 SSDでのPostgres書き込みパフォーマンスJun 18, 2013
: innodb_doublewrite_fileはどのくらい大きくなりますか?Innodb_data_written「これまでに書き込まれたデータの量(バイト単位)」 (引用元: http://dev.mysql.com/doc/refman/5.1/en/server-status-variables.html#statvar_Innodb_data_written )ストレージエンジンは実際にはそれより多くのディスクに書き込みます。
Innodbには2つの主要な書き込みパターンがあります(binlogがある場合はその横にあります)。
正確なメトリックが必要な場合は、両方を考慮する必要があります。
Show engine innodb statusからのログシーケンス番号とその経時変化。これは、innodb_log_filesにバイトが書き込まれることを意味します。
Innodb_buffer_pool_pages_flushed from show global status;開始以降にフラッシュされたページの数を示します。ページサイズはデフォルトで16kです(再コンパイルすることで変更できます)。
私のように専用のデバイスにDBファイルを保持している場合は、OSツールを使用してこれをかなり簡単に行うことができます。 iostat -dm
を試してください。これは、OSの再起動以降、累積IO統計情報を出力します。これは私のサーバーの1つからの出力です。
$ iostat -dNm
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
mysql_volgrp2-logs 80.13 0.00 1.59 313 2608762
mysql_volgrp1-db 513.05 8.97 6.09 14726683 9988059
mysql_volgrp3-iblogs 1.16 0.00 0.06 2 95082
SSDの寿命については、書き込みのみを考慮します。私の例から、サーバーの起動以降に9.9 TBの書き込みが発生しているvolgrp1-dbを取り上げます。サーバーの起動以降の平均であるMB_wrtn/sを取得し、ユニットを実行することも好きです。 MB /秒からGB /年への変換。
あなたが怠惰な人なら、普通のグーグル検索で本当に簡単に数学を行うことができます。グーグルで試してみてください " 10000 * 300 GB/8.97 MB /秒 "。これにより、平均書き込み速度8.97 MB /秒で定格10,000書き込みサイクルの300 GBドライブが約10.6年間続くと計算されます。