मेरे पास दो नोड्स हैं (प्रत्येक 3 समर्पित डेटा ड्राइव के साथ) जो काफी भिन्न लेखन गति दिखा रहे हैं। उनका 'hdparm' आउटपुट समान दिखता है और उनका 'hdparm -t -T' आउटपुट तुलनीय है, लेकिन एक माउंटेड फाइल सिस्टम पर 'dd' कमांड चलाने से काफी अलग राइट स्पीड मिलती है। रीड गति का परीक्षण करने के लिए 'dd' का उपयोग करने से फिर से समान परिणाम मिलते हैं।
सर्वर और हार्ड ड्राइव एक ही मॉडल हैं, दोनों एक ही सॉफ्टवेयर पैकेज चला रहे हैं (हम अपने क्लस्टर पर पैकेज को पुश करने के लिए शेफ का उपयोग करते हैं)।
मैं जाँच करने के लिए मापदंडों के विचारों की तलाश कर रहा हूँ या चलाने के लिए अन्य परीक्षण जो मुझे प्रदर्शन की विसंगति को सुलझाने में मदद कर सकते हैं। ऐसा लगता है कि यह ओएस / एफएस स्तर पर है, लेकिन मुझे यकीन नहीं है कि क्या देखना है। दोनों माउंटेड फाइल सिस्टम EXT4 हैं, जिसमें noatime और user_xattr सक्षम हैं।
तेज़ सर्वर:
hdparm -t -T
उत्पादन:
/dev/sdb1:
Timing cached reads: 2138 MB in 2.00 seconds = 1070.08 MB/sec
Timing buffered disk reads: 232 MB in 3.02 seconds = 76.84 MB/sec
एक 4GB परीक्षण फ़ाइल बाहर लेखन
$ dd bs=4K if=/dev/zero of=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 40.1102 s, 107 MB/s
0.20user 10.91system 0:40.14elapsed 27%CPU (0avgtext+0avgdata 3472maxresident)k
16inputs+8388608outputs (1major+263minor)pagefaults 0swaps
उस फ़ाइल को डिस्क से वापस पढ़ना (और / dev / null के लिए)
$ dd bs=4K of=/dev/null if=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 53.3914 s, 80.4 MB/s
0.19user 5.80system 0:53.53elapsed 11%CPU (0avgtext+0avgdata 3488maxresident)k
8389872inputs+0outputs (2major+264minor)pagefaults 0swaps
धीमा नोड:
hdparm -t -T
उत्पादन
/dev/sdc1:
Timing cached reads: 1982 MB in 2.00 seconds = 991.27 MB/sec
Timing buffered disk reads: 224 MB in 3.02 seconds = 74.16 MB/sec
$ dd bs=4K if=/dev/zero of=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 98.1583 s, 43.8 MB/s
0.35user 17.58system 1:38.17elapsed 18%CPU (0avgtext+0avgdata 3456maxresident)k
8inputs+8388608outputs (0major+263minor)pagefaults 0swaps
$ dd bs=4k of=/dev/null if=/mnt/vol1/test.file count=1M
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 54.7789 s, 78.4 MB/s
0.25user 10.84system 0:54.92elapsed 20%CPU (0avgtext+0avgdata 3488maxresident)k
8389864inputs+0outputs (2major+263minor)pagefaults 0swaps
time
अनुरोध के अनुसार आउटपुट जोड़ा गया
dd
512 बाइट लिखता हूं, तो 4K लिखते हैं, गति समान है।
dd
कमांड का उपयोग करके फिर से चलाएंtime
, ताकि हम सीपीयू के उपयोग को देख सकें। इसके अलावा, क्या दो नोड्स यथार्थवादी परिस्थितियों में या केवल कृत्रिम परीक्षण स्थितियों के तहत अलग-अलग लिखने की गति दिखा रहे हैं? (दो फाइलें ड्राइव पर अलग-अलग भौतिक स्थानों पर हो सकती हैं।) ड्राइव मेक / मॉडल क्या है?