


Pertempuran praktikal: ujian baca dan tulis io cakera keras pada Linux
Konsep
fio, juga dikenali sebagai Penguji IO Fleksibel, ialah aplikasi yang ditulis oleh Jens Axboe.
Jens ialah penyelenggara subsistem IO blok dalam Kernel Linux.
FIO ialah alat yang digunakan untuk menguji sistem fail rangkaian dan prestasi cakera Ia sering digunakan untuk mengesahkan model mesin dan membandingkan prestasi sistem fail. Ia secara automatik menghantar arahan fio ke senarai mesin kluster dan mengumpul IOPS untuk fail kecil dan data pemprosesan untuk fail besar.
rw=[mode] rwmixwrite=30 在混合读写的模式下,写占30% mode read 顺序读 write 顺序写 readwrite 顺序混合读写 randwrite 随机写 randread 随机读 randrw 随机混合读写
Pemasangan
yumdownloader --destdir=/tmp --resolve fio rpm -ivh /tmp/*.rpm rpm -ivh fio-3.7-2.el7.x86_64.rpm
Arahan
说明: filename=/dev/sdb1 测试文件名称,通常选择需要测试的盘的data目录。 direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。 rw=randwrite 测试随机写的I/O rw=randrw 测试随机写和读的I/O bs=16k 单次io的块文件大小为16k bsrange=512-2048 同上,提定数据块的大小范围 size=5g 本次的测试文件大小为5g,以每次4k的io进行测试。 numjobs=30 本次的测试线程为30. runtime=1000 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。 ioengine=psync io引擎使用pync方式 rwmixwrite=30 在混合读写的模式下,写占30% group_reporting 关于显示结果的,汇总每个进程的信息。 此外 lockmem=1g 只使用1g内存进行测试。 zero_buffers 用0初始化系统buffer。 nrfiles=8 每个进程生成文件的数量。
Uji lebar jalur tulis rawak
fio --name=wbw --filename=/data/sui_ji_xie --numjobs=4 --bs=128k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randwrite --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30
Uji Latensi Tulisan Rawak 4K:
fio --name=wlat --filename=/data/4k_sui_ji_xie --numjobs=1 --runtime=30 --bs=4k --size=4G --ioengine=libaio --direct=1 --norandommap --randrepeat=0 -rw=randwrite --group_reporting --iodepth=1 --iodepth_batch_complete=0
Uji 4k tulis rawak IOPS:
fio --name=wiops --filename=/data/4k_sui_ji_xie_iops --numjobs=4 --bs=4k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randwrite --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30
Uji lebar jalur baca 4k:
fio --name=rbw --filename=/data/4k_sui_ji_du --numjobs=4 --bs=128k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randread --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30
Uji kependaman bacaan rawak 4k:
fio --name=rlat --filename=/data/4k_sui_ji_du_yanchi --numjobs=1 --runtime=30 --bs=4k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --rw=randread --group_reporting --iodepth=1 --iodepth_batch_complete=0
Uji 4k bacaan rawak IOPS:
fio --name=riops --filename=/data/4k_sui_ji_du_iops --numjobs=4 --bs=4k --size=4G --ioengine=libaio --direct=1 --randrepeat=0 --norandommap --rw=randread --group_reporting --iodepth=512 --iodepth_batch=128 --iodepth_batch_complete=128 --gtod_reduce=1 --runtime=30
Bacaan rawak:
fio -filename=/data/sui_ji_du -iodepth=1 -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=1G -numjobs=10 -runtime=20 -group_reporting -name=test-rand-read
Tulis secara rawak:
fio -filename=/data/sui_ji_xie -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-write
Baca mengikut urutan:
fio -filename=/data/shun_xu_du -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=20G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
Baca dan Tulis Rawak Hibrid:
fio -filename=/data/hun_he_du_xie -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop
io=执行了多少M的IO bw=平均IO带宽 iops=IOPS runt=线程运行时间 slat=提交延迟 clat=完成延迟 lat=响应时间 bw=带宽 cpu=利用率 IO depths=io队列 IO submit=单个IO提交要提交的IO数 IO complete=Like the above submit number, but for completions instead. IO issued=The number of read/write requests issued, and how many of them were short. IO latencies=IO完延迟的分布 io=总共执行了多少size的IO aggrb=group总带宽 minb=最小.平均带宽. maxb=最大平均带宽. mint=group中线程的最短运行时间. maxt=group中线程的最长运行时间. ios=所有group总共执行的IO数. merge=总共发生的IO合并数. ticks=Number of ticks we kept the disk busy. in_queue=花费在队列上的总共时间. util=磁盘利用率
Atas ialah kandungan terperinci Pertempuran praktikal: ujian baca dan tulis io cakera keras pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Semasa proses pembangunan menggunakan Golang, kami sering menghadapi beberapa ralat. Salah satu daripadanya ialah "undefined:io.ReadAll", ralat ini kebanyakannya disebabkan oleh menggunakan kaedah yang sudah lapuk. Artikel ini akan menerangkan cara menyelesaikan ralat ini. Mula-mula, mari kita lihat mengapa ralat ini berlaku. Sebelum golang1.15, tiada kaedah ReadAll dalam pakej io. Apabila kami menggunakan kaedah ini, pengkompil akan menggesa "undefined:io.Re

Cara menggunakan PHP untuk melaksanakan fungsi caching data dan baca-tulis Caching ialah cara penting untuk meningkatkan prestasi sistem Melalui caching, data yang kerap digunakan boleh disimpan dalam memori untuk meningkatkan kelajuan membaca data. Dalam PHP, kita boleh menggunakan pelbagai kaedah untuk melaksanakan caching data dan fungsi baca dan tulis. Artikel ini akan memperkenalkan dua kaedah biasa: menggunakan cache fail dan menggunakan cache memori. 1. Gunakan caching fail. Caching fail menyimpan data dalam fail untuk bacaan seterusnya. Berikut ialah kod sampel yang menggunakan caching fail untuk membaca dan menulis data:

Apabila membangun dengan golang, kita sering menghadapi pelbagai masalah dan mesej ralat. Salah satu masalah biasa ialah ralat "undefined:io.TeeReader". Ralat ini biasanya berlaku apabila program disusun, dan kadangkala ia boleh mengecewakan. Artikel ini akan memperkenalkan cara untuk menyelesaikan masalah ini supaya anda dapat menjalankan kerja pembangunan golang dengan lancar. Mula-mula, mari kita lihat apa sebenarnya maksud ralat ini. apabila kita menggunakan

Linux io merujuk kepada operasi fail dalam Linux, fail ialah satu siri aliran binari, jadi semasa pertukaran maklumat, kita semua melakukan operasi penghantaran dan penerimaan data pada aliran ini. kerana Linux menggunakan mekanisme memori maya, jadi kernel mesti diminta melalui panggilan sistem untuk menyelesaikan operasi IO.

Concept fio, juga dikenali sebagai FlexibleIOTester, ialah aplikasi yang ditulis oleh JensAxboe. Jens ialah penyelenggara blockIOsubsystem dalam LinuxKernel. FIO ialah alat yang digunakan untuk menguji sistem fail rangkaian dan prestasi cakera Ia sering digunakan untuk mengesahkan model mesin dan membandingkan prestasi sistem fail. Ia secara automatik menghantar arahan fio ke senarai mesin kluster dan mengumpul IOPS untuk fail kecil dan data pemprosesan untuk fail besar. rw=[mode]rwmixwrite=30 Dalam mod baca dan tulis bercampur, menulis akaun untuk 30% baca berurutan baca tulis berurutan tulis baca tulis berurutan bercampur baca dan tulis randwrite tulis rawak r

1. Beberapa pengetahuan persediaan asas NIO dan NIO dalam sistem kelas aliran IO di Java: https://blog.csdn.net/ZGL_cyy/article/details/104326458 sistem JavaIO dan soalan temuduga sistem NIO dan BIO. https://blog.csdn.net/ZGL_cyy/article/details/122836368Mengapa menggunakan NIO: Oleh kerana kadar pemindahan fail IO tradisional adalah rendah, NIO dipilih untuk operasi muat turun fail. Satu lagi faedah NIO ialah salinan sifar boleh mengurangkan pertindihan data dalam ingatan dan mengurangkan kesan operasi CPU. tempat

Menyahsulit kaedah membaca dan menulis untuk memproses fail DBF dalam Java DBF (dBaseFile) ialah format fail pangkalan data biasa yang biasanya digunakan untuk menyimpan data jadual. Dalam program Java, pemprosesan membaca dan menulis fail DBF adalah keperluan yang agak biasa. Artikel ini akan memperkenalkan cara menggunakan Java untuk menyahsulit proses ini dan memberikan contoh kod khusus. 1. Membaca fail DBF Di Java, membaca fail DBF biasanya memerlukan bantuan perpustakaan pihak ketiga, seperti perpustakaan dbfread. Pertama, anda perlu mengkonfigurasi projek

Dalam pengaturcaraan Java, selalunya perlu melakukan operasi IO pada fail. Operasi IO fail melibatkan operasi seperti membaca dan menulis fail, mencipta direktori, dan memadam fail. Artikel ini akan memperkenalkan beberapa teknik operasi IO fail biasa dan cara menggunakannya dalam program Java. 1. Laluan fail Untuk mengendalikan fail dan direktori dalam Java, anda perlu menyediakan laluan fail. Laluan fail boleh dibahagikan kepada laluan mutlak dan laluan relatif. Laluan mutlak ialah laluan penuh ke fail dalam sistem fail, bermula dengan direktori akar. Laluan relatif ialah laluan ke fail berbanding dengan direktori kerja semasa. Jawa
