Computer >> कंप्यूटर >  >> प्रणाली >> Linux

लिनक्स में डिस्क प्रदर्शन (आईओपीएस और लेटेंसी) की जांच कैसे करें?

इस लेख में हम चर्चा करेंगे कि लिनक्स में डिस्क या स्टोरेज ऐरे के प्रदर्शन की जांच कैसे करें। आईओपीएस (इनपुट/आउटपुट ऑपरेशंस प्रति सेकेंड) इनपुट-आउटपुट ऑपरेशंस की संख्या है जो डेटा स्टोरेज सिस्टम प्रति सेकेंड करता है (यह एक डिस्क, RAID सरणी या बाहरी स्टोरेज डिवाइस में एलयूएन हो सकता है)। सामान्य तौर पर, IOPS उन ब्लॉकों की संख्या को संदर्भित करता है जिन्हें मीडिया से पढ़ा या लिखा जा सकता है।

अधिकांश डिस्क निर्माता नाममात्र IOPS मान निर्दिष्ट करते हैं, लेकिन वास्तव में इनकी गारंटी नहीं है। प्रोजेक्ट शुरू करने से पहले अपने स्टोरेज सबसिस्टम के प्रदर्शन को समझने के लिए, यह अधिकतम IOPS मान प्राप्त करने के लायक है जिसे आपका स्टोरेज संभाल सकता है।

भंडारण बेंचमार्किंग के लिए FIO (लचीला I/O) टूल का उपयोग करना

Linux में डिस्क IOPS के प्रदर्शन को मापने के लिए, आप fio . का उपयोग कर सकते हैं (उपकरण EPEL रिपॉजिटरी में CentOS/RHEL के लिए उपलब्ध है)। इसलिए, RHEL या CentOS में fio स्थापित करने के लिए, yum (dnf) पैकेज मैनेजर का उपयोग करें:

# yum install epel-release -y
# yum install fio -y

या डेबियन या उबंटू में उपयुक्त:

# apt-get install fio

लिनक्स में डिस्क प्रदर्शन (आईओपीएस और लेटेंसी) की जांच कैसे करें?

फिर आप परीक्षण करने के लिए डिस्क की पहचान करने के लिए। यह परीक्षण उस निर्देशिका में पढ़ने/लिखने के संचालन के द्वारा किया जाता है जिस पर आपकी डिस्क या LUN माउंट किया गया है।

आइए विभिन्न डिस्क लोड परिदृश्यों में कई प्रकार के डिस्क IOPS प्रदर्शन परीक्षण करते हैं (एक परीक्षण मोड जिसे आप होस्ट किए गए ऐप लॉजिक और किसी प्रोजेक्ट के सामान्य बुनियादी ढांचे के आधार पर चुनते हैं)।

रैंडम रीड/राइट ऑपरेशन टेस्ट

परीक्षण चलाते समय, एक 8 जीबी फ़ाइल बनाई जाएगी। फिर fio 4KB . को पढ़/लिखेगा 75/25% . के साथ ब्लॉक (एक मानक ब्लॉक आकार) पढ़ने और लिखने के संचालन की संख्या से और प्रदर्शन को मापें। आदेश इस प्रकार है:

# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75

लिनक्स में डिस्क प्रदर्शन (आईओपीएस और लेटेंसी) की जांच कैसे करें?

मैंने अपना पहला परीक्षण एक सरणी पर चलाया जिसमें दो SSD . शामिल थे s और अच्छे परिणाम मिले:

  • पढ़ें: 3280MiB/s, IOPS औसत 83000
  • लिखें: 110MiB/s, IOPS औसत 28000

चूंकि हमने एक संयुक्त पठन/लेखन परीक्षण चलाया है, इसलिए अलग-अलग परीक्षणों के लिए मान अधिक होंगे।

इसकी तुलना में, मैंने प्रदर्शन को SATA . पर मापा ड्राइव:

लिनक्स में डिस्क प्रदर्शन (आईओपीएस और लेटेंसी) की जांच कैसे करें?

  • पढ़ें: आईओपीएस=430, बीडब्ल्यू=1.7 एमआईबी/एस
  • लिखें: IOPS=143, BW=0.6 MiB/s

बेशक, एचडीडी के नतीजे एसएसडी की तुलना में खराब हैं।

रैंडम रीड ऑपरेशन टेस्ट

केवल रैंडम रीड ऑपरेशंस के लिए डिस्क प्रदर्शन को मापने के लिए, निम्न कमांड चलाएँ:

# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randread

कमांड के अंतिम भाग को —readwrite=randread

लिनक्स में डिस्क प्रदर्शन (आईओपीएस और लेटेंसी) की जांच कैसे करें?

जैसा कि मैंने पहले बताया, पढ़ने/लिखने का प्रदर्शन अलग से मापने पर बेहतर होगा:

READ: IOPS=150k, BW=584MiB/s (612MB/s)

रैंडम राइट ऑपरेशन टेस्ट

रैंडम राइट ऑपरेशंस के लिए डिस्क प्रदर्शन को मापने के लिए, यह कमांड चलाएँ:

# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=fiotest --bs=4k --iodepth=64 --size=8G --readwrite=randwrite

WRITE: IOPS=84.7k, BW=331MiB/s (347MB/s)

अच्छे SSD पर लिखने का कार्य निष्पादन भी बहुत अधिक होता है। रीड ऑपरेशन टेस्ट की तरह, मिश्रित परीक्षण की तुलना में अंतर 200-250 MiB/s और 50000 IOPS तक पहुंच जाता है।

यदि आप आधिकारिक निर्माता दस्तावेज (ये इंटेल एसएसडी हैं) का संदर्भ लेते हैं, तो यह कहना सुरक्षित है कि मान सत्य हैं।

Fio कॉन्फ़िग फ़ाइल उदाहरण

Fio इंटरैक्टिव कमांड का उपयोग करके और परीक्षण के लिए पहले से तैयार कॉन्फ़िगरेशन फ़ाइलों के साथ डिस्क प्रदर्शन की जांच करने की अनुमति देता है। इस विकल्प का उपयोग करने के लिए, एक फ़ाइल बनाएँ:

# nano read.fio

और इसमें निम्नलिखित सामग्री जोड़ें:

[global]
rw=randread
size=8G
filename=/tmp/testfio
ioengine=libaio
iodepth=4
invalidate=1
direct=1
[bgread]
rw=randread
iodepth=64

फिर परीक्षण शुरू करें:

# fio read.fio

परीक्षण डिस्क के पढ़ने के प्रदर्शन को मापेगा। लेखन प्रदर्शन का परीक्षण करने के लिए, निम्न कॉन्फ़िग फ़ाइल का उपयोग करें:

[global]
rw=randwrite
size=8G
filename=/tmp/testfio
ioengine=libaio
iodepth=4
invalidate=1
direct=1
[bgwrite]
rw=randwrite
iodepth=64

आईओपिंग का उपयोग करके डिस्क विलंबता मापना

IOPS के अलावा, एक और महत्वपूर्ण पैरामीटर है जो आपके स्टोरेज की गुणवत्ता को दर्शाता है:यह विलंबता है। विलंबता एक इनपुट/आउटपुट अनुरोध विलंब है जो भंडारण तक पहुंच का समय निर्धारित करता है (मिलीसेकंड में मापा जाता है)। विलंबता जितनी अधिक होगी, आपके ऐप को आपकी डिस्क से डेटा प्राप्त होने तक उतना ही अधिक इंतजार करना होगा। विलंबता मान 20 ms से अधिक विशिष्ट डेटा संग्रहण प्रणालियों के लिए खराब माना जाता है।

Linux में डिस्क विलंबता की जांच करने के लिए, ioping उपकरण का उपयोग किया जाता है:

# yum install ioping -y

# apt-get install ioping

अपनी डिस्क के लिए विलंबता परीक्षण चलाएँ (20 अनुरोध चलाए जाते हैं):

# ioping -c 20 /tmp/

4 KiB <<< /tmp/ (ext4 /dev/md126p5): request=1 time=1.55 ms (warmup)
......................
4 KiB <<< /tmp/ (ext4 /dev/md126p5): request=19 time=176.3 us (fast)
4 KiB <<< /tmp/ (ext4 /dev/md126p5): request=20 time=356.9 us
--- /tmp/ (ext4 /dev/md126p5) ioping statistics ---
19 requests completed in 5.67 ms, 76 KiB read, 3.35 k iops, 13.1 MiB/s
generated 20 requests in 19.0 s, 80 KiB, 1 iops, 4.21 KiB/s
min/avg/max/mdev = 176.3 us / 298.7 us / 368.9 us / 45.7 us

औसत मान 298.7 हमें . है (माइक्रोसेकंड), इसलिए हमारे मामले में औसत विलंबता 0.3 ms . है , यह बहुत अच्छा है।

विलंबता मान हमें . में निर्दिष्ट किया जा सकता है (माइक्रोसेकंड) या ms (मिलीसेकंड)। यूएस वन से एमएस वैल्यू प्राप्त करने के लिए, इसे 1,000 से विभाजित करें।

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


  1. लिनक्स में शटडाउन और रीबूट तिथि की जांच कैसे करें

    ऐसे बहुत से कारण हैं जिनकी वजह से आप यह पता लगाना चाहते हैं कि आपका Linux कंप्यूटर कब बंद हुआ, फिर से चालू हुआ, या यह कितने समय से चल रहा है। अधिकांश समय यह जानकारी किसी समस्या को डीबग करने में अमूल्य होती है जो तब हुई होगी जब कोई नहीं देख रहा था। शुक्र है, अधिकांश वितरणों पर लिनक्स सावधानीपूर्वक सि

  1. Linux में डिस्क स्थान की जांच और प्रबंधन कैसे करें

    एक आवश्यक कौशल जो सिस्टम प्रशासकों को चाहिए वह है ऑनलाइन और ऑफलाइन दोनों प्रणालियों के स्वास्थ्य को बनाए रखना। यह उत्पादन सर्वर पर विशेष रूप से महत्वपूर्ण है जहां डाउनटाइम या समस्याएं डेटा की हानि का कारण बन सकती हैं। एक सामान्य समस्या यह है कि डिस्क स्थान की कमी के कारण अपडेट विफल हो जाते हैं, लेकि

  1. लिनक्स में डिस्क स्थान की जांच और प्रबंधन कैसे करें

    डिस्क स्थान का प्रबंधन कंप्यूटर उपयोगकर्ताओं के लिए प्रमुख चिंताओं में से एक है, भले ही वे जिस प्लेटफॉर्म का उपयोग करते हैं। खासकर अगर आप सिस्टम एडमिनिस्ट्रेटर हैं, तो आपका काम ऑफलाइन और ऑनलाइन सिस्टम की सेहत पर नजर रखना है। चूंकि कम डिस्क स्थान लिनक्स पर अपडेट में बाधा डाल सकता है, जिससे अन्य गंभीर