लिनक्स औसत बूट पर कितना डेटा पढ़ता है?


9

मुझे आश्चर्य है कि वर्चुअल कंसोल शेल प्रॉम्प्ट प्राप्त करने के लिए कुल डेटा कितना ताज़ा स्थापित वैनिला लिनक्स सिस्टम (जैसे 32-बिट CentOS 5.10) पढ़ता है? आप जानते हैं, सभी विन्यास फाइल पढ़ना, बायनेरी लोड करना, कर्नेल इमेज इत्यादि।

मैं आदेश-परिमाण अनुमानों की तलाश कर रहा हूं। मुझे पता है कि लिनक्स बूट प्रक्रिया के विवरण के संबंध में बहुत भिन्न होता है। क्या हम 10Mb बात कर रहे हैं? 100Mb? 1GB?


5
तुम क्यों पूछ रहे हो?
Zoredache

2
परिवर्तनशीलता (हो सकती है) सिस्टम के बीच परिमाण के आदेश - कर्नेल और ड्राइवरों को लोड करना बूट प्रक्रिया का सबसे छोटा अंश है, और सिस्टम पर इनिट स्क्रिप्ट लॉग इन प्रॉम्प्ट प्राप्त करने से पहले शाब्दिक रूप से कुछ भी कर सकती है। कृपया एक वास्तविक, व्यावहारिक समस्या के संदर्भ में जिस स्थिति से आप निपट रहे हैं, उसे समझाइए।
voretaq7

1
@amn क्या आप अपने शुरुआती प्रश्न में इसका कारण बता सकते हैं? यह संदर्भ के साथ मदद करेगा। एक अन्य कारण है कि लोग एक समान प्रश्न पूछेंगे कि क्या वे साइकिल-सीमित भंडारण का उपयोग कर रहे हैं। अधिक विस्तार हमेशा बेहतर होता है।
इविहित

8
@ जब मैं लिनक्स मशीनों के 100 के दशक को बूट कर रहा हूं, और उनके सिस्टम की 95% सामग्री समान है और समान रहेगी - मशीनें क्लोन हैं। मैं फाइलसिस्टम के समान / रीड-ओनली-शेयर किए गए हिस्से को एनएफएस स्टोरेज में ऑफलोड करना चाहता हूं, इसे वहां से माउंट करता हूं, और जैसे बूट करता हूं। फाइलसिस्टम का केवल लेखन योग्य भाग, जैसे / var, / tmp और / home, प्रत्येक मशीन के लिए स्थानीय रहेगा। चूंकि संभावित रूप से सौ मशीनें एक "क्लस्टर" के भाग के रूप में एक साथ बूट हो सकती हैं, इसलिए मुझे यह अनुमान लगाने की आवश्यकता है कि क्या बूट करते समय एक्सेस किए गए एनएफएस स्टोरेज लिंक एक अड़चन होगी।
एमएन

5
I need to estimate...फिर एक करें और इसे मापें।
सिम्बियन

जवाबों:


8

एक सिस्टम स्थापित करें, इसे बूट करें और /sys/block/${DEV}/statउदाहरण के लिए ब्लॉक लेयर आँकड़े देखें /sys/block/sda/stat

प्रलेखन से उद्धरण :

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

Name            units         description
----            -----         -----------
read I/Os       requests      number of read I/Os processed
read merges     requests      number of read I/Os merged with in-queue I/O
read sectors    sectors       number of sectors read
read ticks      milliseconds  total wait time for read requests
write I/Os      requests      number of write I/Os processed
write merges    requests      number of write I/Os merged with in-queue I/O
write sectors   sectors       number of sectors written
write ticks     milliseconds  total wait time for write requests
in_flight       requests      number of I/Os currently in flight
io_ticks        milliseconds  total time this block device has been active
time_in_queue   milliseconds  total wait time for all requests

सेक्टर पढ़ें, सेक्टर लिखें

ये मान इस ब्लॉक उपकरण से पढ़े या लिखे गए क्षेत्रों की संख्या की गणना करते हैं। प्रश्न में "सेक्टर" मानक UNIX 512-बाइट क्षेत्र हैं, न कि कोई उपकरण- या फाइलसिस्टम-विशिष्ट ब्लॉक आकार। I / O पूर्ण होने पर काउंटरों को बढ़ा दिया जाता है।

बाइट्स की संख्या को अधिक आसानी से प्राप्त करने के लिए आप इस एक-लाइनर का उपयोग कर सकते हैं:

awk '{printf("read %d bytes, wrote %d bytes\n", $3*512, $7*512)}' /sys/block/vda/stat

वैज्ञानिक लिनक्स 6.1 i386 के लिए परिणाम

मैंने वैज्ञानिक लिनक्स 6.1 i386 (जो RHEL के समान है) को चलाने वाली KVM / qemu वर्चुअल मशीन पर यह परीक्षण किया । निम्नलिखित सेवाएं सक्षम की गईं: एकपीड, ऑडिट, क्रोनड, नेटवर्क, पोस्टफिक्स, rsyslog, sshd और udev-post। स्वैप एक अलग डिस्क पर है, इसलिए इसे ध्यान में नहीं रखा गया है।

लॉगिन प्रॉम्प्ट दिखाई देने के बाद, SSH के साथ दूरस्थ रूप से जोड़े गए 85 बूट के आंकड़े, थे:

    Name            Median   Average   Stdev
    -------------   ------   -------   -----
    read I/Os       1920     1920.2    2.6
    read merges     1158     1158.4    1.8
    read sectors    85322    85330.9   31.9
 >> read MiBytes    41.661   41.665    0.016
    read ticks      1165     1177.2    94.1
    write I/Os      33       32.6      1.7
    write merges    64       59.6      7.4
    write sectors   762      715.2     70.9
 >> write MiBytes   0.372    0.349     0.035
    write ticks     51       59.0      17.4
    in_flight       0        0.0       0.0
    io_ticks        895      909.9     57.8
    time_in_queue   1217     1235.2    98.5

बूट का समय लगभग 20 सेकंड था।


2
ध्यान दें कि यह आपको केवल ट्रांसफर डिमांड (मात्रा) देता है, न कि थ्रूपुट डिमांड (रेट)। आप औसत संख्या प्राप्त करने के लिए अपटाइम से विभाजित कर सकते हैं।
voretaq7

15

आप अपनी टिप्पणियों में कहते हैं कि आप नेटबूट / नेटवर्क रूट वातावरण का मूल्यांकन कर रहे हैं।

पहली चीज जिसे आपको महसूस करना चाहिए कि "वेनिला" जैसी कोई चीज नहीं है - आप शून्य बदलाव के साथ बॉक्स के ठीक बाहर 5.10 सेंटो को चलाने नहीं जा रहे हैं (यदि आपको लगता है कि आप खुद को भ्रम में डाल रहे हैं: एनएफएस रूट पहले से ही है कम से कम स्ट्राबेरी, पिस्ता पर कगार)।

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

  1. स्थानांतरण (मात्रा)
  2. थ्रूपुट (दर)

प्रदर्शन के लिए दोनों मूल्य गंभीर रूप से महत्वपूर्ण होंगे। आप शायद कुछ बिंदुओं पर कई क्लाइंट सेट करना चाहते हैं और सिस्टम के सामान्य उपयोग का अनुकरण करके देख सकते हैं कि आपके एनएफएस सर्वर / नेटवर्क पर किस तरह की स्थिर स्थिति की मांग करते हैं जब लोग सिस्टम का उपयोग कर रहे हैं जैसा कि वे अपने रोजमर्रा में करेंगे काम।

यह भी देखें: क्षमता योजना पर हमारी श्रृंखला - हम एनएफएस के बारे में विशेष रूप से बात नहीं करते हैं, लेकिन "इसे बनाएं, इसे टेस्ट करें, इसे लागू करें" के सामान्य सिद्धांत लागू होते हैं।


1
यदि वेनिला आइक्रीक है, तो वेनिला लिनक्स है! ;-) गंभीर रूप से, यह एक काफी अनकल्ड CentOS 5.10 है, और जो कुछ भी बदला गया था वह राइट करने योग्य फ़ाइल सिस्टम का हिस्सा है, जो कि NFS से माउंट नहीं किया जाएगा , इसलिए यह एक कारक नहीं है - हाँ, इसमें एक विशाल पोस्टेक डेटाबेस है / var / lib लेकिन / var NFS से माउंट नहीं है, लेकिन स्थानीय भौतिक स्टार्टअप डिस्क पर है। और अगर मैं इसे प्रोफाइल करना चाहता था, तो मैं यहां सवाल नहीं
पूछूंगा

10
@ मुझे खेद है कि आप प्रोफाइलिंग नहीं करना चाहते हैं, लेकिन आप वह करेंगे जो आप करना चाहते हैं - हम आपके लिए हमारे बट्स से लागू संख्या को नहीं खींच सकते। आपका समाधान (एनएफएस रूट) एक ध्वनि है, समय-परीक्षण किया गया है, और ईमानदारी से आप शायद इसे बिना किसी समस्या के अंधा कर सकते हैं (दसियों हज़ार सन माइक्रोसिस्टम्स वातावरण को अंधे की तरह तैनात किया गया था जैसे कि एनएफएस-रूट और नेटबूटिंग के दिन सोलारिस और महान काम किया)। यदि आप प्रदर्शन के बारे में चिंतित हैं, तो आपको अपने विशिष्ट वातावरण के लिए मांग और अड़चनों को निर्धारित करने के लिए प्रोफाइलिंग करने की आवश्यकता होगी - यह ब्रह्मांड का तरीका है।
voretaq7

स्ट्रॉबेरी के लिए +1
एलेक्स्यॉर्क

1
@ voretaq7 प्रोफाइलिंग तर्क के साथ बहस नहीं कर सकता, और कभी नहीं किया। इससे पहले कि मैं अपनी स्लीव्स को रोल करूं और एनएफएस सेट करूं, उससे पहले मुझे सबसे अच्छी चीज चाहिए। आपके बहुमूल्य इनपुट के लिए धन्यवाद।
एमएन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.