मैं पुराने udisks बेंचमार्किंग रिपोर्ट पर बात नहीं fio
कर सकता, लेकिन शायद आपके लिए इसका उपयोग होगा। fio
वर्तमान में उबंटू के सभी संस्करणों के लिए प्रीसीज़ टू ज़ेइटी से उपलब्ध है
यूनिवर्स रिपॉजिटरी को सक्रिय करने केsudo apt-get install fio
बाद आप इसे स्थापित कर सकते हैं
कुछ त्वरित परीक्षण इंगित करते हैं कि आप विभाजन का चयन करने के लिए केवल यह सुनिश्चित करके परीक्षण कर सकते हैं कि pwd
वर्तमान (वर्तमान कार्य निर्देशिका) उस विभाजन पर है जिसे आप परीक्षण करना चाहते हैं।
उदाहरण के लिए, यहां मुझे अपने मूल विभाजन पर परिणाम मिल रहे हैं जो कि तोशिबा THNSNH128GBST SSD (मेरा / dev / sda) पर है
$ sudo fio --name=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=4k --direct=0 --size=256M --numjobs=8 --runtime=60 --group_reporting
randwrite: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1
...
randwrite: (groupid=0, jobs=8): err= 0: pid=15096: Wed Feb 15 13:58:31 2017
write: io=2048.0MB, bw=133432KB/s, iops=33358, runt= 15717msec
slat (usec): min=1, max=223379, avg=232.82, stdev=4112.31
clat (usec): min=0, max=16018, avg= 0.30, stdev=22.20
lat (usec): min=1, max=223381, avg=233.25, stdev=4112.55
clat percentiles (usec):
| 1.00th=[ 0], 5.00th=[ 0], 10.00th=[ 0], 20.00th=[ 0],
| 30.00th=[ 0], 40.00th=[ 0], 50.00th=[ 0], 60.00th=[ 0],
| 70.00th=[ 0], 80.00th=[ 1], 90.00th=[ 1], 95.00th=[ 1],
| 99.00th=[ 1], 99.50th=[ 1], 99.90th=[ 2], 99.95th=[ 3],
| 99.99th=[ 31]
bw (KB /s): min= 3473, max=241560, per=12.42%, avg=16577.30, stdev=28056.68
lat (usec) : 2=99.79%, 4=0.18%, 10=0.02%, 20=0.01%, 50=0.01%
lat (usec) : 100=0.01%, 250=0.01%, 500=0.01%
lat (msec) : 20=0.01%
cpu : usr=0.52%, sys=1.08%, ctx=3235, majf=0, minf=228
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=524288/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=2048.0MB, aggrb=133432KB/s, minb=133432KB/s, maxb=133432KB/s, mint=15717msec, maxt=15717msec
Disk stats (read/write):
sda: ios=0/197922, merge=0/84378, ticks=0/37360, in_queue=37324, util=93.41%
मेरे होम निर्देशिका में चल रहा है जो पश्चिमी डिजिटल WD2003FZEX-00Z4SA0 HDD पर निम्न आउटपुट में समान कमांड परिणाम के साथ है:
randwrite: (groupid=0, jobs=8): err= 0: pid=15062: Wed Feb 15 13:53:32 2017
write: io=1299.6MB, bw=22156KB/s, iops=5538, runt= 60062msec
slat (usec): min=1, max=200040, avg=1441.http://meta.stackexchange.com/questions/122692/moderator-tools-make-merging-questions-a-little-easier74, stdev=11322.69
clat (usec): min=0, max=12031, avg= 0.41, stdev=32.24
lat (usec): min=1, max=200042, avg=1442.29, stdev=11323.05
clat percentiles (usec):
| 1.00th=[ 0], 5.00th=[ 0], 10.00th=[ 0], 20.00th=[ 0],
| 30.00th=[ 0], 40.00th=[ 0], 50.00th=[ 0], 60.00th=[ 0],
| 70.00th=[ 0], 80.00th=[ 1], 90.00th=[ 1], 95.00th=[ 1],
| 99.00th=[ 2], 99.50th=[ 2], 99.90th=[ 3], 99.95th=[ 9],
| 99.99th=[ 14]
bw (KB /s): min= 426, max=282171, per=13.12%, avg=2906.99, stdev=17280.75
lat (usec) : 2=98.88%, 4=1.03%, 10=0.05%, 20=0.04%, 50=0.01%
lat (usec) : 100=0.01%, 250=0.01%
lat (msec) : 10=0.01%, 20=0.01%
cpu : usr=0.09%, sys=0.25%, ctx=7912, majf=0, minf=227
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=332678/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=1299.6MB, aggrb=22155KB/s, minb=22155KB/s, maxb=22155KB/s, mint=60062msec, maxt=60062msec
Disk stats (read/write):
sdb: ios=0/94158, merge=0/75298, ticks=0/116296, in_queue=116264, util=98.40%
मैंने इस उत्तर को पठनीय आकार में रखने के लिए चल रहे आउटपुट को ट्रिम किया।
उत्पादन का स्पष्टीकरण जो मुझे दिलचस्प लगा:
आप देख सकते हैं कि इन सभी मैट्रिक्स के लिए हमें न्यूनतम, अधिकतम औसत और मानक विचलन मिलता है।
स्लेट संकेत प्रस्तुत विलंबता -
क्लेट पूर्णता को दर्शाता है। यह वह समय है जो कर्नेल को जमा करने के बीच से गुजरता है और जब IO पूरा होता है, तो सबमिशन लेटेंसी को शामिल नहीं किया जाता है। फियो के पुराने संस्करणों में, यह एप्लिकेशन-स्तरीय विलंबता को सन्निकट करने के लिए सबसे अच्छा मीट्रिक था।
lat काफी नया लगता है। ऐसा लगता है कि यह मीट्रिक उस क्षण को शुरू करता है जब आईओ संरचना फियो में बनाई गई है और क्लैट के ठीक बाद पूरी हो गई है, जिससे यह सबसे अच्छा प्रतिनिधित्व करता है कि अनुप्रयोगों का अनुभव क्या होगा। यह वह है जिसे आप शायद ग्राफ़ करना चाहते हैं।
bw बैंडविड्थ प्रति = भाग को छोड़कर बहुत आत्म-व्याख्यात्मक है। डॉक्स का कहना है कि यह एक ही डिवाइस को कई वर्कलोड के साथ परीक्षण करने के लिए है, इसलिए आप देख सकते हैं कि प्रत्येक प्रक्रिया के दौरान IO का कितना उपभोग किया गया।
जब फियो कई उपकरणों के खिलाफ चलाया जाता है, जैसा कि मैंने इस आउटपुट के लिए किया है, तो यह इस तथ्य की परवाह किए बिना एक उपयोगी तुलना प्रदान कर सकता है कि इसका उद्देश्य एक विशिष्ट कार्यभार का परीक्षण करना है।
मुझे यकीन है कि यह कोई आश्चर्य की बात नहीं है कि हार्ड ड्राइव पर विलंबता ठोस राज्य ड्राइव की तुलना में बहुत अधिक है।
सूत्रों का कहना है:
https://tobert.github.io/post/2014-04-17-fio-output-explained.html
https://github.com/axboe/fio/blob/master/README