मेरे पास इस समस्या के बारे में एक संबंधित प्रश्न है, लेकिन यह बहुत जटिल और बहुत बड़ा है, इसलिए मैंने फैसला किया कि मुझे इस मुद्दे को एनएफएस और स्थानीय मुद्दों में विभाजित करना चाहिए। मैंने बहुत सफलता के बिना मेलिंग सूची पर zfs- चर्चा मेल पर इस बारे में पूछने की कोशिश की है।
उसी सर्वर पर NFS / CIFS निर्देशिकाओं के बीच धीमी प्रतिलिपि
रूपरेखा: मैं कैसे सेटअप कर रहा हूँ और मुझे क्या उम्मीद है
- मेरे पास 4 डिस्क के साथ एक ZFS पूल है। 2TB RED को 2 दर्पणों के रूप में कॉन्फ़िगर किया गया है जो धारीदार (RAID 10) हैं। लिनक्स पर, zfsonlinux। कोई कैश या लॉग डिवाइस नहीं हैं।
- डेटा दर्पण के पार संतुलित है (ZFS के लिए महत्वपूर्ण)
- प्रत्येक डिस्क 588 एमबी / सेकंड के एक संयुक्त थ्रूपुट देते हुए, समानांतर में 147 एमबी / सेकंड में (कच्ची डब्ल्यू / डीडी) पढ़ सकती है।
- मैं एक समान 4TB RED डिस्क के मानदंड के आधार पर 115MB / sec लिखने, 138MB / sec read और प्रत्येक डिस्क से अनुक्रमिक डेटा के 50MB / sec पुनः लिखने की उम्मीद करता हूं। मुझे उम्मीद है कि 100 एमबी / सेकंड पढ़ने या लिखने में कोई कमी नहीं होगी, क्योंकि इन दिनों कोई भी डिस्क ऐसा कर सकती है।
- मैंने सोचा कि जब लोड रीडिंग या लेखन अनुक्रमिक डेटा के तहत सभी 4 डिस्क पर मैं 100% IO उपयोग देखूंगा। और यह कि 100% से अधिक उपयोग होने पर डिस्क 100MB / सेकंड से अधिक की हो जाएगी।
- मुझे लगा कि पूल मुझे 2x लिखने, 2x फिर से लिखने, और 4x एक डिस्क पर प्रदर्शन पढ़ने के लिए देगा - क्या मैं गलत हूं?
- नई मैंने सोचा था कि एक ही पूल पर एक ext4 zvol ZFS रूप में एक ही गति के बारे में होगा
जो मुझे वास्तव में मिलता है
मुझे लगता है कि पूल का पढ़ा हुआ प्रदर्शन लगभग उतना नहीं है जितना मुझे उम्मीद थी
कुछ दिनों पहले पूल पर बोनी ++ बेंचमार्क
संस्करण 1.97 ------ अनुक्रमिक आउटपुट ------ - पर्याप्त इनपुट- - आयामी- कंसीडर 1 -पेर Chr- --Block-- -Rrrite- -er Chr- --Block-- --Seeks-- मशीन का आकार K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP / सेकंड% CP igor 63G 99 99 232132 47 118787 27 336 97 257072 22 92.7 6
एक 4TB लाल ड्राइव पर bonnie ++ एक झूले में खुद पर है
संस्करण 1.97 ------ अनुक्रमिक आउटपुट ------ - पर्याप्त इनपुट- - आयामी- कंसीडर 1 -पेर Chr- --Block-- -Rrrite- -er Chr- --Block-- --Seeks-- मशीन का आकार K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP / सेकंड% CP igor 63G 101 99 115288 30 49781 14 326 97 138250 13 111.6 8
इसके अनुसार एकल 4TB RED ड्राइव से परिणाम के आधार पर रीड एंड रीराइट स्पीड उपयुक्त है (वे डबल हैं)। हालाँकि, मैं जिस रीड स्पीड की उम्मीद कर रहा था वह लगभग 550MB / sec (4xB ड्राइव की स्पीड 4x) होगी और मैं कम से कम 400MB / सेकंड की उम्मीद करूँगा। इसके बजाय मैं 260MB / सेकंड के आसपास देख रहा हूं
नीचे की जानकारी एकत्र करते हुए, अभी से पूल पर bonnie ++ । पहले जैसा नहीं, और कुछ भी नहीं बदला है।
संस्करण 1.97 ------ अनुक्रमिक आउटपुट ------ - पर्याप्त इनपुट- - आयामी- कंसीडर 1 -पेर Chr- --Block-- -Rrrite- -er Chr- --Block-- --Seeks-- मशीन का आकार K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP K / सेकंड% CP / सेकंड% CP igor 63G 103 99 207518 43 108810 24 342 98 302350 26 256.4 18
लिखने के दौरान zost iostat । मुझे ठीक लगता है।
क्षमता संचालन बैंडविड्थ पूल आबंटित मुक्त पठन लेखन लेखन -------------------------------------------- ----- - ---- ----- ----- ----- ----- पूल 2 1.23T 2.39T 0 1.89K 1.60K 238M दर्पण 631G 1.20T 0 979 1.60K 120M ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 - - 0 1007 1.60K 124M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX - - 0 975 0 120M दर्पण 631G 1.20T 0 953 0 117M ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 - - 0 1.01K 0 128M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE - - 0 953 0 117M
iostat zpool पुनर्लेखन के दौरान। मुझे ठीक लगता है, मुझे लगता है ।
क्षमता संचालन बैंडविड्थ पूल आबंटित मुक्त पठन लेखन लेखन -------------------------------------------- ----- - ---- ----- ----- ----- ----- पूल 2 1.27 टी 2.35 टी 1015 923 125 एम 101 एम दर्पण 651G 1.18T 505 465 62.2M 51.8M ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 - - 198 438 24.4M 51.7M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX - - 306 384 37.8M 45.1M दर्पण 651G 1.18T 510 457 63.2M 49.6M ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 - - 304 371 37.8M 43.3M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE - - 206 423 25.5M 49.6M
यह वह जगह है जहां मुझे आश्चर्य है कि क्या हो रहा है
पढ़ने के दौरान zpol iostat
क्षमता संचालन बैंडविड्थ पूल आबंटित मुक्त पठन लेखन लेखन -------------------------------------------- ----- - ---- ----- ----- ----- ----- पूल 2 1.27T 2.35T 2.68K 32 339M 141K दर्पण 651G 1.18T 1.34K 20 169M 90.0K ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 - - 748 9 92.5M 96.8K ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX - - 623 10 76.8M 96.8K दर्पण 651G 1.18T 1.34K 11 170M 50.8K ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 - - 774 5 95.7M 56.0K ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE - - 599 6 74.0M 56.0K
iostat -x उसी रीड ऑपरेशन के दौरान। ध्यान दें कि IO% 100% पर नहीं है।
डिवाइस: rrqm / s wrqm / sr / sw / s rkB / s wkB / s avgrq-sz avgqu-sz इंतजार r_await w_await svctm% उपयोग एसडीबी 0.60 0.00 661.30 6.00 83652.80 49.20 250.87 2.32 3.47 3.46 4.87 1. 79% 796 sdd 0.80 0.00 735.40 5.30 93273.20 49.20 251.98 2.60 3.51 3.51 4.15 4.15: 20.04 sdf 0.50 0.00 656.70 3.80 83196.80 31.20 252.02 2.23 3.38 3.36 6.63 1.17.3.12 एसडीए 0.70 0.00 738.30 3.30 93572.00 31.20 252.44 2.45 3.33 3.31 7.03 1.14 84.24
ज़िप और परीक्षण डेटासेट सेटिंग्स:
- atime बंद है
- संपीड़न बंद है
- ashift 0 है (ऑटोडेट - मेरी समझ यह थी कि यह ठीक था)
- zdb का कहना है कि डिस्क सभी राख = 12 हैं
- मॉड्यूल - विकल्प zfs zvol_threads = 32 zfs_arc_max = 17179869184
- सिंक = मानक
संपादित करें - अक्टूबर, 30, 2015
मैंने कुछ और परीक्षण किया
- डेटासेट bonnie ++ w / recordize = 1M = 226MB लिखना, 392MB ज्यादा बेहतर पढ़ा
- डेटासेट dd w / रिकॉर्ड साइज = 1M = 260MB लिखना, 392MB ज्यादा बेहतर पढ़ना
- zvol w / ext4 dd bs = 1M = 128MB लिखना, 107MB पढ़ना इतना धीमा क्यों है?
- डेटासेट 2 प्रक्रिया समानांतर में = 227MB लिखना, 396MB पढ़ना
- dd Direct io डेटासेट और zvol पर अलग नहीं है
मैं बढ़े हुए रिकॉर्ड आकार के साथ प्रदर्शन से बहुत खुश हूं। पूल पर लगभग हर फाइल 1 एमबी से अधिक की है। तो मैं इसे ऐसे ही छोड़ दूंगा। डिस्क को अभी भी 100% उपयोग नहीं मिल रहा है, जो मुझे आश्चर्यचकित करता है कि क्या यह अभी भी बहुत तेज हो सकता है। और अब मैं सोच रहा हूं कि zvol का प्रदर्शन इतना घटिया क्यों है, क्योंकि यह कुछ ऐसा है जो मैं (हल्का) उपयोग करता हूं।
मुझे टिप्पणियों / उत्तरों में मांगी गई कोई भी जानकारी प्रदान करने में खुशी हो रही है। मेरे अन्य प्रश्न में भी बहुत सारी जानकारी पोस्ट की गई है: एक ही सर्वर पर NFS / CIFS निर्देशिकाओं के बीच धीमी प्रतिलिपि
मैं पूरी तरह से जानता हूँ कि मैं शायद कुछ समझ नहीं पा रहा हूँ और यह समस्या नहीं हो सकती है। अग्रिम में धन्यवाद।
यह स्पष्ट करने के लिए, सवाल यह है कि मैं जितनी जल्दी हो सके ZFS पूल क्यों नहीं? और शायद कुछ और गलत है?
dd
देखें कि आपको किस तरह का प्रदर्शन मिलता है। आप प्रत्यक्ष IO को भी आज़माना चाह सकते हैं क्योंकि आप स्ट्रीमिंग गति में आ रहे हैं जहाँ कैशिंग से डबल बफरिंग प्रदर्शन को प्रभावित कर सकता है। FWIW, 3/4 सैद्धांतिक कुल कच्चे 4-डिस्क रीड प्रदर्शन अच्छा है।
%util
संख्या समझा सकता है ।