Bagaimana saya bisa mencatat kinerja baca SSD dari waktu ke waktu?

10

Saya ingin menyimpan log dari waktu ke waktu, mungkin setiap minggu, dari tingkat baca solid state drive saya sebagaimana ditentukan oleh alat seperti System -> Administration -> Disk Utility -> Benchmark:

tangkapan layar

Apakah ada cara untuk mengarsipkan data pengujian dari Disk Utility, atau dapatkah Anda memikirkan alat lain yang memungkinkan saya untuk mengakumulasi data semacam ini secara semi-otomatis?

Saya ingin dapat melakukan benchmark menggunakan metode read-only agar tidak perlu memakai drive.

ændrük
sumber

Jawaban:

4

hdparmbisa juga melakukan tes. Ini agak sederhana dibandingkan dengan bonnie++tetapi mereka akan berjalan cepat ( bonnie++bisa menjadi sumber daya babi ketika dijalankan) dan tidak perlu menulis ke disk. Itu juga berarti tidak menguji efisiensi sistem file yang (semoga) akan meningkat seiring waktu dengan peningkatan kernel.

Anda dapat menjalankan tes seperti ini:

sudo hdparm -t /dev/sda

Dan itu akan merespons dengan sesuatu seperti ini:

/dev/sdf:
 Timing buffered disk reads:  432 MB in  3.01 seconds = 143.53 MB/sec

Sekarang, ini tidak mencakup latensi. Jika itu mengganggu Anda, ada skrip yang disebut seeker yang dapat Anda unduh dan kompilasi yang akan dicari dan diukur waktunya. Anda perlu belajar sedikit C tetapi Anda bisa menyesuaikan output untuk sesuatu yang Anda bisa login lebih mudah.

Atau Anda bisa percaya bahwa waktu respons pada SSD tidak akan jauh lebih buruk daripada ~ 0.3ms

Oli
sumber
5

Lihatlah bonnie++.

Anda perlu awkdan grepkeluar dari sana untuk mendapatkan angka yang ingin Anda login dari waktu ke waktu, tetapi harus memungkinkan untuk menggemakan apa yang Anda inginkan dalam format nilai yang dipisahkan koma ke baris baru file log.

Cron itu dan dalam waktu enam bulan, impor itu ke dalam spreadsheet dan plot grafik yang bagus. Atau gunakan R.

Sunting: Bonnie ++ sebenarnya menulis CSV sebagai baris keluaran terakhir, sehingga akan lebih mudah untuk menarik ke log waktu yang lama (jika Anda dapat mengetahui apa judul kolom itu).

Tetapi Bonnie ++ bergantung pada kemampuan untuk menulis file (atau multipel) ke sistem file dan kemudian menjalankan tes baca terhadap file-file tersebut. Orang-orang membuat banyak keributan tentang memakai SSD jadi ini mungkin tidak optimal.

Oli
sumber
2
Atau Anda bisa mencatat output lengkap ke file timestamped dan berurusan dengan pemrosesan data sampai nanti. Ini tidak akan membuat segalanya lebih mudah dalam jangka panjang tetapi Anda akan memiliki lebih banyak data untuk dianalisis saat Anda membutuhkannya.
Oli
Ini hampir sempurna, tetapi saya hanya ingin melakukan benchmark read-only dan saya tidak yakin apakah ini mungkin dengan bonnie ++. Saya telah memperbarui pertanyaan saya untuk memperjelas hal ini.
ændrük
2

Jika Anda ingin mengambil data terperinci dari Disk Utility (alias program "palimpsest"), Anda dapat membuat salinan data yang di-cache di ~/.cache/gnome-disk-utility/drive-benchmarkdirektori. Tampaknya Anda akan menemukan hasil terbaru untuk setiap disk di sana, dalam format yang aneh tapi tidak terlalu sulit untuk diurai (baris data dipisahkan oleh titik dua ....). Anda bisa menyalin file-file itu ke arsip, memberi mereka nama yang unik setiap kali. Sayangnya mereka ditimpa dalam cache setiap kali, dan data ringkasan tidak direkam, jadi Anda harus menghitung ulang itu.

Lihat 'Bug # 794929 di gnome-disk-utility (Ubuntu): "Tolok ukur Disk Utility, x-axis undefined"' untuk permintaan dan respons dalam memberikan kejelasan lebih lanjut tentang apa sebenarnya data yang dimaksud.

nealmcb
sumber