क्या एक कमांड-लाइन सूक्ति-डिस्क के बराबर है?


10

सूक्ति डिस्क ( gnome-disks- पहले के रूप में जाना जाता है palimpsest) स्मार्ट और कुछ बेंचमार्किंग जानकारी प्रदान करता है। मैं जो इकट्ठा करता हूं, वह कमांड-लाइन टूल पर आधारित होता था, udisksलेकिन इन परियोजनाओं का विलय हुआ है।

नई सूक्ति डिस्क उपयोगिता केवल बेंचमार्किंग परीक्षणों से औसत परिणाम दिखाने के लिए प्रकट होती है । स्क्रीनशॉट से, palimpsest के पिछले संस्करणों के परिणामों में भी अधिकतम और न्यूनतम प्रतिक्रियाएं दिखाई देती हैं।

मुझे बेंचमार्किंग में सभी परिणामों में दिलचस्पी है - विशेष रूप से मैं उन डिस्क को खोजने की कोशिश कर रहा हूं जो सबसे खराब स्थिति में धीमे I / O के साथ डिस्क को बाहर निकालकर उपयोगकर्ताओं पर नकारात्मक प्रभाव डाल रहे हैं। मैं समय के साथ इस डेटा को मैप करना चाहता हूं, इसलिए मुझे इसे प्रोग्रामेटिक तरीके से प्रोसेस / एक्सपोर्ट करने में सक्षम होना चाहिए।

मैंने udisksctl(udisks2 पैकेज में) देखा लेकिन यह डिस्क पर सामान्य जानकारी और कुछ स्मार्ट जानकारी के लिए प्रतीत होता है।

क्या कोई कमांड-लाइन टूल है जो पुरानी udisksशैली बेंचमार्किंग रिपोर्ट चलाता है और साथ ही न्यूनतम और अधिकतम रिटर्न देता है?


आप उबंटू के किस संस्करण का उपयोग कर रहे हैं?
YouAGitForNotUsingGit

एक मिश्रण, 12.04 और 16.10 के बीच हर गैर-आश्रित रिलीज़।
tu-Reinstate Monica-dor duh

जवाबों:


7

मैं पुराने 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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.