Cara membandingkan kinerja disk di linux

Cara membandingkan kinerja disk di linux

Baru saja membeli yang terbaru dan terhebat - dan terutama tercepat - SDD? Atau meningkatkan kartu memori microSD ponsel Anda? Sebelum Anda mulai menggunakan perangkat keras baru yang mengkilap, Anda mungkin ingin menjalankan pemeriksaan kinerja terhadap drive. Apakah kecepatan tulis dan baca hingga spesifikasi pabrikan? Bagaimana kinerja Anda dibandingkan dengan orang lain? Adalah flash drive 1TB yang Anda beli di situs lelang dari China benar -benar secepat daftar itu mengatakan itu? Biarkan kami mencari tahu!

Dalam tutorial ini Anda akan belajar:

  • Apa CLI (Antarmuka Baris Perintah: Bash Anda atau Lingkungan Terminal Lainnya) Alat Pengukuran Kinerja Disk
  • Apa GUI (Antarmuka Pengguna Grafis: Lingkungan Desktop Anda) Alat Pengukuran Kinerja Disk yang kami rekomendasikan
  • Bagaimana mengukur kinerja disk secara efektif secara langsung
  • Temukan dan Belajar dengan berbagai contoh pengukuran kinerja disk
  • Cara memahami kualitas perangkat keras disk/flash yang Anda miliki
Cara membandingkan kinerja disk di linux

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem GNU/Linux apapun
Perangkat lunak N/a
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah.
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Cara membandingkan kinerja disk di linux - alat cli

Untuk memulai, colokkan drive Anda ke mesin Anda. Jika itu adalah SSD (solid state drive) atau HDD (hard disk drive), Anda ingin mematikan komputer Anda, masukkan drive dan reboot sistem. Untuk kartu SD, Anda biasanya akan menggunakan pembaca kartu SD yang dapat Anda masukkan melalui port USB ke komputer Anda. Untuk USB memory stick/flash drive, cukup masukkan melalui port USB ke komputer Anda.

Selanjutnya, navigasikan ke terminal/command prompt Anda (di Ubuntu
Misalnya Anda dapat melakukan ini dengan hanya mengklik Kegiatan di kiri atas layar> Jenis Terminal dan klik ikon terminal).

Di baris perintah, ketik lsblk:

$ lsblk | GREP SDC SDC 8:32 1 119.Disk 3G 0 

Di sini kami mengeksekusi lsblk: Anda dapat membaca ini sebagai ls blk: Saya.e. Lakukan daftar yang mirip dengan LS ('Listing Direktori') pada semua volume bulk (BLK).

Seperti yang Anda lihat, ada a 119.3g drive tersedia. Drive ini dipasarkan sebagai 128GB, dan ini adalah merek utama. Tidak jarang drive 128GB untuk ditampilkan hanya ~ 115-120g lsblk. hal ini dikarenakan lsblk akan memberi Anda hasil di gibibyte (1 gibibyte = 1073700000 byte) sedangkan drive manufaktur menjual drive mereka menggunakan standar "gigabyte" (a Gigabyte = 1000000000 byte).

Kita dapat melihat dalam hal ini ini bekerja hampir sempurna ketika kita melihat ukuran berbasis byte:

$ lsblk -B | GREP SDC SDC 8:32 1 128043712512 0 Disk 


Dan 119.3 (seperti yang dilaporkan oleh LSBLK) = 119.3 x 1073700000 = 128092410000. Jadi saat Anda membeli drive berikutnya, baca cetakan kecil di bagian belakang dan periksa apakah mereka menggunakan byte "1000" per kilobyte atau "1024" byte per standar kibibyte. Hampir selalu, itu akan menjadi yang pertama.

Beberapa produsen SD bahkan menyertakan ukuran area khusus yang dipesan untuk leveling keausan pada kartu SD sebagai ruang disk utama, namun ruang seperti itu tidak dapat diakses oleh pengguna, dan Anda dapat mengakhiri dengan misalnya hanya 115g yang ditampilkan sebagai dapat digunakan. Pembeli berhati -hatilah.

Saat Anda mengeksekusi lsblk Untuk pertama kalinya, Anda ingin meluangkan waktu melihat berbagai drive yang tersedia. Cara termudah untuk menemukan volume tertentu, misalnya flash drive yang baru saja dimasukkan, adalah dengan mencari ukuran yang kira -kira cocok dengan ukuran disk yang dimasukkan.

Sekarang kita tahu bahwa drive baru kita diberi label SDC (Linux menggunakan SDA,SDB,SDC dll. Menurut drive yang terdeteksi selama startup dan/atau dimasukkan), kami juga tahu di mana deskriptor file perangkat untuk perangkat ini berada (selalu masuk /dev):

$ ls /dev /sdc /dev /sdc 

Juga, jika sudah ada partisi di drive, itu akan ditampilkan secara berbeda, seperti ini:

$ lsblk -B | GREP SDC SDC 8:32 1 128043712512 0 Disk └─SDC1 8:33 1 128042663936 0 Bagian 

Anda dapat melihat bagaimana ia memiliki disk (/dev/sdc - ditunjukkan oleh 'disk'), dan partisi pertama (/dev/sdc1 - ditunjukkan oleh 'bagian'). Secara logis partisi sedikit lebih kecil dari ukuran disk total karena penyelarasan/ruang yang dipesan untuk tabel partisi dll.

Akhirnya, jika Anda memiliki jenis lain dari perangkat penyimpanan/disk, misalnya drive NVME, maka ini dapat ditampilkan misalnya sebagai:

$ lsblk | grep nvme nvme0n1 259: 0 0 701.3G 0 Disk ├─NVMe0n1p1 259: 1 0 512m 0 Bagian /Boot /EFI ├─NVMe0n1p2 259: 2 0 732m 0 Bagian /Boot └─NVMe0N1P3 259: 3 0 700g 0 Bagian 

Di sini kami memiliki drive NVME yang menampung 3 partisi (P1, P2, P3) dan dua yang pertama adalah partisi boot kecil dan yang ketiga adalah partisi data utama kami. Karena partisi ini digunakan, kami tidak akan dapat memilikinya akses eksklusif atau Akses yang tidak terpasang untuk itu. Ini akan menjadi relevan setelah kita membahas beberapa alat di bawah ini.

Berbekal informasi ini, sekarang mudah untuk menjalankan pemeriksaan kinerja disk dasar terhadap drive ini menggunakan HDParm:

$ sudo hdparm -ttv/dev/sdc1/dev/sdc1: multcount = 0 (off) readonly = 0 (off) readahead = 256 (aktif) geometri = 15567/255/63, sektor = 250083328, mulai = 2048 waktu baca yang di -cached waktu yang di -cached : 36928 MB dalam 1.99 detik = 18531.46 MB/DEC Timing Disk Buffered Dibaca: 276 MB dalam 3.02 detik = 91.37 MB/detik 

Kita bisa gunakan HDParm Untuk melakukan waktu untuk tujuan benchmark dan perbandingan, menggunakan -T (Lakukan waktu pembacaan cache) dan -T Opsi (Lakukan Pengaturan Waktu Perangkat).

Seperti yang dapat Anda lihat, bacaan yang di -cache kami datang dengan sangat cepat (seperti yang diharapkan; di -cache), dan mereka tidak harus jumlah yang baik untuk dilalui, kecuali jika Anda menguji kinerja cache secara khusus.

Nomor yang lebih berguna adalah disk buffered dibaca, dan mereka masuk 91.37 MB/detik. Tidak buruk seperti produsen untuk drive ini bahkan tidak mengiklankan kecepatan tulis.

Sebagai manual untuk HDParm (-Tt opsi) menyatakan, Untuk hasil yang bermakna, operasi ini harus diulang 2-3 kali pada sistem yang tidak aktif (tidak ada proses aktif lainnya) dengan setidaknya beberapa megabyte memori bebas, kita harus menjalankan tes lain untuk memastikan hasil kita.

Tes berulang, kali ini dengan hanya bacaan buffer dan sedikit lebih banyak output verbose (dicapai dengan menambahkan opsi '-v'):

$ sudo hdparm -tv/dev/sdc1/dev/sdc1: multcount = 0 (off) readonly = 0 (off) readahead = 256 (aktif) geometri = 15567/255/63, sektor = 250083328, mulai = 2048 waktu diskored disk buffered waktu buffered waktu buffered waktu buffered waktu buffered time buffered timed bupted time buffered disk = 250083328 Baca: 276 MB dalam 3.01 detik = 91.54 MB/detik 

Seperti yang bisa kita lihat, angka yang dilaporkan oleh HDParm cukup dapat diandalkan.



Sejauh ini kami hanya membahas kecepatan baca. Mari kita selanjutnya lihat Kecepatan Tulis. Untuk ini, kami akan menggunakan DD.

Cara teraman untuk melakukan ini, adalah dengan terlebih dahulu membuat sistem file (di luar ruang lingkup artikel ini - untuk membuatnya lebih mudah Anda dapat menggunakan alat GUI seperti gparted) dan kemudian mengukur kinerja dengan DD
. Perhatikan bahwa jenis sistem file (e.G. Ext4, FAT32, ...) akan memengaruhi kinerja, kegunaan dan keamanan drive Anda.

$ sudo su # cd /tmp # mkdir mnt # mount /dev /sdc1 ./mnt # mengasumsikan setidaknya ada 1 partisi yang didefinisikan pada /dev /sdc. Dalam hal ini ada, dan ini adalah partisi ext4. # sinkronisasi # echo 3>/proc/sys/vm/drop_caches # dd if =/dev/nol of =/tmp/mnt/temp /mnt/temp 

Tes Kinerja akan ditampilkan sebagai berikut:

# dd if =/dev/nol dari =/tmp/mnt/temp.1 GB, 2.0 gib) disalin, 32.1541 S, 66.8 MB/s 

Seperti yang bisa kita lihat, drive 128GB kami berkinerja cukup baik dengan a 66.8 MB/s Tulis kecepatan. Mari kita periksa ulang dengan dua kali ukuran (file 4GB) menggunakan Hitung = 32K pilihan:

# dd if =/dev/nol dari =/tmp/mnt/temp.3 GB, 4.0 gib) disalin, 66.7746 S, 64.3 MB/s 

Jadi mari kita lihat semua yang kami lakukan di sini.

Pertama kami meningkatkan hak istimewa ke level sudo/root sudo su, Dan kemudian kami membuat a mnt folder di /tmp. Ini akan menjadi 'titik mount' kami di mana kami akan mengakses drive 128 GB kami dari (setelah pemasangan menggunakannya mount /dev /sdc1 ./mnt yang secara efektif memetakan partisi pertama SDC1ke ./mnt folder (/tmp/mnt)).

Setelah ini kami memastikan bahwa semua cache file sistem kami di mana disinkronkan/kosong menggunakan sinkronisasi. Ini juga merupakan perintah praktis untuk dieksekusi sebelum melakukan urunting dan mengeluarkan drive USB Anda karena memastikan bahwa semua data yang ditulis ke drive USB Anda disiram ke disk alih -alih tetap dalam memori dalam memori. Jika Anda menggagalkan disk di desktop/GUI, itu akan mengeksekusi a sinkronisasi untuk Anda di latar belakang sebelum membuka drive dan selanjutnya memberi tahu Anda bahwa disk menyimpan untuk menghapus.

Selanjutnya kami memastikan bahwa semua cache sistem yang tersisa dijatuhkan dari memori dengan mengeksekusi Echo 3>/proc/sys/vm/drop_caches. Sementara kedua perintah terakhir bisa ditinggalkan, terutama saat kami menggunakan /dev/nol Sebagai perangkat input (perangkat virtual yang terus mengeluarkan nol kapan pun diakses), senang memiliki sistem 'super bersih dan siap' untuk melakukan tes kinerja disk! Pada dasarnya, kami memastikan ada sesedikit mungkin caching akan terjadi.

Selanjutnya kami memiliki tes kinerja utama kami menggunakan DD. Sintaks DD cukup mudah, tetapi berbeda dari kebanyakan alat baris perintah lainnya. Mari kita lihat secara detail:

  • if =/dev/nol: Gunakan perangkat /dev /nol sebagai file input
  • dari =/tmp/mnt/temp: Gunakan file 'temp', yang terletak di partisi (/disk) kami baru saja dipasang di bawah/tmp/mnt sebagai file output
  • Oflag = Direct: Tetapkan bendera output 'Direct' memastikan bahwa kami 'menggunakan I/O langsung untuk data' yang akan menghilangkan sebagian besar jika tidak semua caching sistem operasi melakukannya
  • BS = 128K: Menulis hingga 128k byte sekaligus. Default 512 sangat kecil, dan akan mengakibatkan tidak memaksimalkan kemungkinan kecepatan throughput
  • hitung = 16k: Salin blok input 16k, yang total sekitar 2.1 GB atau 2.0 gib. Anda mungkin ingin menyesuaikan variabel ini tergantung pada ukuran drive Anda dan persyaratan akurasi kinerja drive (lebih banyak lebih baik: lebih dapat diandalkan)

Dan akhirnya kami menghapus file yang kami tulis RM -F/TMP/MNT/TEMP.

Catatan dan peringatan penting
Perhatikan bahwa jika disk Anda kosong, dan hanya jika Anda yakin itu benar -benar kosong dan tidak mengandung data yang berharga, Anda bisa melakukan sesuatu di sepanjang garis: dari =/dev/sdc1 atau bahkan dari =/dev/sdc untuk menjalankan uji kecepatan disk eksklusif / tidak terpasang.

Ini adalah cara yang sangat murni untuk menguji kinerja disk, tetapi (!) Harap berhati -hati dengan menggunakan ini, seperti perangkat atau partisi apa pun yang ditentukan dalam dari =… pasti akan ditimpa dengan apa pun yang berasal dari apapun if =… Anda menentukan. Hati-hati.



Cara membandingkan kinerja disk di Linux - GUI Tool

Sekarang Anda tahu cara menjalankan tes kinerja disk dari baris perintah, menggunakan HDParm (untuk dibaca) dan DD (Untuk menulis) Alat Terminal/CLI, mari kita lihat selanjutnya menggunakan alat yang lebih visual/grafik di dalam lingkungan desktop.

Jika Anda menggunakan Ubuntu, sistem operasi desktop Linux yang paling umum, ada kinerja disk utilitas yang bagus untuk sistem operasi. Ini juga merupakan salah satu dari sedikit (atau mungkin hanya tersedia untuk dibaca) alat pengujian kinerja grafis yang tersedia di Linux. Sebagian besar alat lainnya berbasis baris perintah, atau tidak memiliki setara linux dengan mitra Microsoft Windows mereka. Misalnya, tidak ada mitra grafis untuk utilitas kinerja Disk Windows Crystaldiskmark.

Cukup klik Kegiatan di kiri atas layar, dan ketik disk yang akan menunjukkan kepada Anda Disk Ikon (menunjukkan gambar hard drive). Klik yang sama untuk membuka Disk utilitas yang memiliki alat benchmark build in disk.

Setelah buka, gunakan satu klik untuk memilih disk Anda dari sisi kiri jendela dialog, lalu klik pada 3 titik vertikal di dekat kanan atas jendela dialog (di sebelah kiri tombol minimalkan). Dari sana, pilih opsi Disk Benchmark… Untuk membuka alat pembandingan untuk drive yang dipilih. Jendela 'Benchmark' akan terbuka.

Klik Mulai Benchmark… Untuk membuka dialog konfigurasi bernama Pengaturan Benchmark. Dari sini saya sarankan Anda mengatur opsi berikut:

Tingkat transfer:

  • Jumlah sampel: 10
  • Ukuran Sampel (MIB): 1000 (ini juga maksimum)
  • Lakukan Benchmark Tulis: Ticked (Baca catatan di bawah ini terlebih dahulu sebelum memulai tolok ukur!)

Waktu akses:

  • Jumlah sampel: 1000

Lalu klik Mulai Benchmarking… Untuk memulai tes. Mari kita lihat pengaturan yang kami buat di sini.

Ukuran sampel maksimum adalah 1000 MIB, dan ini (1.048.576.000 byte) adalah jumlah besar untuk diuji, tetapi akan sangat bagus jika kami diizinkan untuk memilih ukuran seperti 2GB dan 4GB seperti yang kami lakukan di kami di kami DD Tes Write Utility Line Disk Command di atas. Kami akan mengambil 10 sampel, atau dengan kata lain 10 berjalan dari 1GB membaca dan menulis.

Utilitas pengukuran kinerja disk grafis ini sangat pintar karena tidak akan menghancurkan data pada drive Anda, seperti yang dapat dilakukan DD jika Anda secara tidak benar menentukan dari = pengaturan menjadi disk atau partisi alih -alih file.

Cara melakukannya - ketika Anda memilih untuk melakukan tolok ukur tulis (seperti yang telah kami lakukan di sini) - adalah dengan membaca data dari drive dalam mode akses eksklusif (lebih lanjut tentang ini segera), kemudian menulis data yang sama ke hal yang sama Lokasi! Kecuali beberapa kesalahan penulisan yang sangat aneh terjadi, tidak mungkin bahwa ini akan merusak data pada drive Anda (meskipun tidak dijamin!). Jika Anda mengarahkan kursor Anda di atas Lakukan Benchmark Tulis Pengaturan Anda dapat membaca lebih banyak tentang ini.

Akses eksklusif berarti bahwa memilih opsi tulis akan memastikan bahwa drive Anda tidak dipasang sebelum tes, membuatnya tersedia hanya untuk utilitas ini tanpa Anda dapat mengaksesnya dari tempat lain saat tes sedang berjalan. Ini diperlukan agar tes tulis berjalan dengan benar. Inilah yang Anda inginkan dalam hal apa pun; Saya.e. Anda tidak ingin mengakses drive Anda (atau menyalin data ke/dari drive) saat tes berjalan, karena ini mungkin condong ke hasilnya secara signifikan.

Kami juga meminta untuk mengambil 1000 sampel waktu akses - Saya.e. waktu yang dibutuhkan sistem operasi untuk mengakses drive. Untuk kartu SD ini akan sangat rendah, misalnya kartu 128GB kami memberikan waktu akses rata -rata adil 0.71 msec di 1000 sampel, Sedangkan disk yang lebih lambat dapat menghasilkan waktu akses 20-100ms.

Perbedaan kinerja SD vs HDD

Tangkapan layar di atas menunjukkan perbedaan yang jelas dalam output antara tes kartu SD 128GB dan hard disk drive 3TB.

Kesimpulan

Berbekal dengan keterampilan untuk mengukur disk membaca dan menulis kinerja, apa yang akan menjadi tes kinerja drive Anda berikutnya? Beri tahu kami di komentar di bawah, dan jika Anda akhirnya menguji atau membandingkan SSD modern, NVME, SD atau penyimpanan flash lainnya, silakan posting beberapa hasil yang Anda lihat!

Tutorial Linux Terkait:

  • Cara menggunakan ADB Android Debug Bridge untuk mengelola Android Anda…
  • Cara menginstal adobe flash player di linux
  • Instal Ubuntu 20.04 di Raspberry Pi
  • Tes Benchmark Drive USB di Linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara menghapus bloatware dari ponsel samsung android Anda…
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Cara mencerminkan layar ponsel Android Anda ke Linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…