उपसर्ग प्रदर्शन


11

Ubuntu पर पोस्टफ़िक्स चल रहा है, प्रति दिन मेल (~ 1 मिलियन संदेश) भेज रहा है। लोड बहुत अधिक हैं, लेकिन सीपीयू और मेमोरी लोड के मामले में ज्यादा नहीं हैं। किसी को भी एक ऐसी स्थिति में और कैसे अड़चन दूर करने के लिए पता है?

इस सर्वर पर सभी मेल आउटबाउंड हैं।

मुझे लगता है कि अड़चन डिस्क है।

बस एक अद्यतन, यहाँ iostat कैसा दिखता है:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.12   99.88    0.00    0.00

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    12.38    0.00    2.48     0.00   118.81    48.00     0.00    0.00   0.00   0.00
sdb               1.49    22.28   72.28   42.57   629.70  1041.58    14.55   135.56  834.31   8.71 100.00

क्या ये संख्याएँ उस प्रदर्शन के अनुरूप हैं, जिसकी आप एकल डिस्क से अपेक्षा करते हैं?

sdb पोस्टफिक्स के लिए समर्पित है।

मुझे लगता है कि यह कतार में फेरबदल है, आवक-> सक्रिय-> आस्थगित से

सवालों से अधिक जानकारी:

सर्वर: क्वाड कोर एक्सॉन (आर) सीपीयू E5405 @ 2.00GH 4 जीबी रैम के साथ

लोड औसत: 464.88, 489.11, 483.91, 4 कोर। लेकिन मेमोरी का उपयोग और सीपीयू न्यूनतम है

16 - 32 के बीच उपसर्ग उदाहरण


400+ लोड के साथ, मैंने कुछ भी करने वाले सिस्टम को अधिलेखित कर दिया है, यदि आपका 1 सिस्टम के माध्यम से एक दिन में 1 मिलियन संदेश भेज रहा है, तो मैं निश्चित रूप से आपके डिस्क IO (रामडिस्क, छापे) को बेहतर बनाने के लिए सुझाव दूंगा, और शायद अधिक क्लियर किए गए विकल्प पर जाऊंगा, मुझे यकीन है कि आपके सर्वर के मूविंग मेल को 400 धीरे-धीरे लोड किया जाएगा।
ग्रूफ़टेक

@ ब्रायन जी: आप टिप्पणी को ध्वजांकित कर सकते हैं, लेकिन मुझे नहीं लगता कि आप इसे हटा सकते हैं। मैं उससे सहमत हूँ, हालाँकि।
Womble

जवाबों:


9

यह थोड़ा पागल लग सकता है, लेकिन आपको चाहिए:

  1. आप की जरूरत है नंगे न्यूनतम करने के लिए लॉगिंग नीचे बारी। Syslog को केवल mail.err या उच्चतर लॉग करें।
  2. अधिक RAM जोड़ें। हां, पोस्टफिक्स को इसकी आवश्यकता नहीं है, लेकिन अतिरिक्त रैम का मतलब कर्नेल के लिए अतिरिक्त पेज कैश है।
  3. आपने यह उल्लेख नहीं किया है कि फाइलसिस्टम क्या है / dev / sdb (जो कुछ भी मायने रखता है), लेकिन इसे निश्चित रूप से बदल दें noatime, जिससे लोड कम से कम थोड़ा कम हो।
  4. देखें कि आपका / var / स्पूल / पोस्टफिक्स कितना बड़ा है। यदि यह युगल टमटम के अंतर्गत है, तो इसे रैमडिस्क पर ले जाने पर विचार करें।

खुद मैने इससे बेहतर नहीं कहा होता। मैंने देखा 3. साथ ही, बिना किसी विभाजन के sda और sdb कुछ मंदी का कारण हो सकता है, या कम से कम सिस्टम में डिस्क का कुशल उपयोग नहीं कर सकता है।
ग्रूफ़टेक

कोई बात नहीं - मैं मंदबुद्धि हूं, यह सिर्फ एक आईओसैट के बजाय एक iostat -x जैसा दिखता है। मेरी गलती!
ग्रूफ़टेक 23

लॉगिंग की मात्रा को कम करने का प्रयास करने का कोई कारण नहीं होना चाहिए, जब तक कि आप एसिंलॉगिंग को अतुल्यकालिक रूप से करते हैं और (अधिमानतः) अलग-अलग स्पिंडल पर लॉग और स्पूल होते हैं। सुनिश्चित करें कि आप सामान्य ऑपरेशन के लिए कोई वर्बोज़ लॉगिंग नहीं कर रहे हैं, हालाँकि।
रोब चंटर

4

मुझे उन लोगों से असहमत होना होगा जिन्होंने "/ var / spool / postfix" के लिए RAM डिस्क का उपयोग करने का सुझाव दिया है। इसका मतलब है कि आपकी पूरी मेल कतार रैम में स्टोर हो जाएगी। यदि आपका सर्वर क्रैश हो जाता है, या पावर खो देता है, तो कतार में संदेश हमेशा के लिए चले जाते हैं। यह ग्राहक / उपयोगकर्ता के दृष्टिकोण से वास्तव में खराब है क्योंकि संदेश को डिलीवरी के लिए सफलतापूर्वक स्वीकार कर लिया गया है। इससे भी बदतर, आपका सर्वर यह कहते हुए नोटिस नहीं भेजेगा कि ईमेल बाउंस हो गया है या डिलीवर नहीं किया जा सकता क्योंकि सर्वर के वापस आने पर कतार खाली हो जाएगी।

इसके बजाय, मैं उतने तेज डिस्क जोड़ूंगा जितना आप खर्च कर सकते हैं; मैं वास्तव में अनुमान नहीं लगा सकता कि आपको दी गई जानकारी से कितने की आवश्यकता होगी। ऊपर "iostat" आउटपुट से, ऐसा लगता है कि आप ~ 120 IOPS से 'sdb' (r / s और w / s का योग) कर रहे हैं। आप यथोचित अनुमान लगा सकते हैं कि एक एकल 15k RPM SCSI या FC डिस्क 150 IOPS को संभालेगी। मैं 5 15k RPM SCSI डिस्क और एक सभ्य RAID नियंत्रक के साथ शुरू करूँगा। इसे 1 हॉट स्पेयर के साथ 4 ड्राइव में RAID-10 के रूप में सेट करें। मुझे यकीन नहीं है कि यह आपकी समस्या को पूरी तरह से हल कर देगा, लेकिन यह निश्चित रूप से इसे बदतर नहीं करेगा।


2

कुछ प्रोफाइलर (gprof?) के तहत पोस्टफिक्स चलाएं, या लॉग में देखें। पोस्टफ़िक्स बहुत समय की जानकारी लॉग करता है जो आपको बता सकता है कि पकड़ कहाँ है। देखने के लिए सामान्य स्थान हैं:

  1. डिस्क प्रदर्शन। आपकी कतार के लिए RAID-10 का समय हो सकता है।
  2. संदेशों पर किसी भी तरह का नेटवर्क IO। डीएनएस ब्लैक लिस्ट? SAV?
  3. आपके द्वारा इंस्टॉल किए गए मिलर्स और अन्य फ़िल्टर।
  4. नेटवर्क पर या एक प्रक्रिया (ldap, sql) के लिए प्रमाणीकरण और UID लुकअप किया जा रहा है।
  5. प्रॉक्सी का उपयोग नहीं करना: धीमे मानचित्रों के लिए (ऊपर की तरह)

iostat -x -v 3डिस्क उपयोग की जाँच करने के लिए कुछ का उपयोग करें।
मौसिन

Iostat -x के साथ, इसका निश्चित रूप से डिस्क प्रदर्शन, योग्य, डिस्क पर 100% Util।
ग्रूफ़टेक

बाहर जाओ और 4 15k SAS ड्राइव खरीदें अगर आपकी मशीन उन्हें ले जाएगी, या 4 Velociraptor SATA ड्राइव यदि कोई SAS नहीं है। RAID-10 उन्हें, पोस्टफ़िक्स कतार के रूप में माउंट करें। यदि वह ऐसा नहीं करता है, तो इंटेल एसएसडी पर गौर करें, लेकिन आपकी दुनिया उस बिंदु पर महंगा दर्द होने जा रही है।
बिल वीस

2

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

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

धुन मैं / दोनों पर हे करने के लिए समय ले लो /var/spool/postfixऔर /var/log। व्यस्त पोस्टफ़िक्स सर्वर के लिए सबसे अच्छा अभ्यास दोनों को अलग-अलग स्पिंडल में अलग करना है, और यह सुनिश्चित करना है कि एसिंक्रोनस लॉगिंग सक्षम है। लिनक्स पर डैश के साथ अपने मेल लॉग के लिए लॉगफाइल नाम उपसर्ग करें।

mail.info                              -/var/log/mail.log

या इसी के समान।

यदि आप amavisd-new का उपयोग कर रहे हैं, तो सुनिश्चित करें कि इसका कार्य क्षेत्र tmpfs फाइल सिस्टम पर है। हम आम तौर पर इसे लगाते हैं /tmp/vscan/। यह तब तक सुरक्षित है, क्योंकि जब तक डाउनस्ट्रीम (पोस्ट-फिल्टर) होप ने संदेश को स्वीकार नहीं किया है, तब तक amavisd-new डेटा-प्रतिक्रिया नहीं देता है।

कुछ लोग noatimeपोस्टफिक्स स्पूल के लिए माउंट विकल्पों की सलाह देते हैं । यह संभावित रूप से नासमझी है, जिस तरह से पोस्टफिक्स फाइल सिस्टम शब्दार्थ पर निर्भर करता है। उदाहरण के लिए देखें http://archives.neohapsis.com/archives/postfix/2006-01/1916.html


1

यह निश्चित रूप से लगता है कि आपकी डिस्क सबसिस्टम को कम से कम समस्या के भाग के रूप में देखा जाना चाहिए। जिस तरह से / var के आसपास फ़ाइलों को पोस्टफ़िक्स फेरबदल करने के कारण, मैं "tweak ext3 filesystem" (कम से कम सेटिंग noatime और राइटबैक) यह देखने के लिए सुझाव दूंगा कि क्या आप फाइल सिस्टम स्तर पर प्रदर्शन को बढ़ावा नहीं दे सकते हैं।

मेरे पास सर्वर के दो क्लस्टर हैं जो ग्राहक-नियोजित ईमेल के लिए DNS और आउटबाउंड SMTP को दोहराते हैं और 250k संदेश प्रतिदिन (2k-10k / घंटा) के साथ उस तरह के I / O बाइंडअप के पास चलाते हैं।


0

एक स्टोरेज परफॉर्मेंस बॉटल नेक की तरह लगती है।

99.88 का iowait आपको बताता है कि आपका सिस्टम आपके भंडारण पर प्रतीक्षा करने में बहुत समय लगा रहा है।

मैं बिल वेस से सहमत हूं। आपको कतार के लिए एक r1010 सेटअप में देखना चाहिए।


0

या के साथ शुरू

vmstat 1

"आइज़ैट 1", जो मेशेन द्वारा सुझाया गया है, वह भी अच्छा है

आपके आंकड़ों से स्पष्ट रूप से तेज डिस्क सबसिस्टम अच्छा होगा। 6-8 15k rpm पर raid-10 कुछ कैश के साथ हो सकता है, ऑन-बोर्ड मेमोरी के कुछ गिग्स।

अपने स्पूल डायरेक्टरी को noatime, nodiratime विकल्पों के साथ माउंट करें। बहुत सारी छोटी [i ग्रहण] फाइलों को संभालने के लिए अपने फाइल-सिस्टम को ट्यूनिंग या बदलने पर विचार करें।


0

ब्रायन

आपको वास्तव में एक तेज़ डिस्क प्राप्त करने की आवश्यकता है, या अधिमानतः छापे के समाधान के लिए जाना चाहिए। यह किस प्रकार का सर्वर है?

जेम्स


क्वाड कोर ज़ीओन (आर) सीपीयू E5405 @ 2.00GHz 4 जीबी रैम
ब्रायन जी

0

यदि आप स्पैम + वायरस फ़िल्टरिंग के लिए एमविज़ चला रहे हैं, तो आपको समवर्ती एमविस प्रक्रियाओं की संख्या में वृद्धि करनी चाहिए। अपने सेटअप के अनुसार, आपको पोस्टफ़िक्स मास्टर.cf से smtp-amavis प्रक्रियाओं की संख्या को बढ़ाने की आवश्यकता हो सकती है, और amavis.conf में प्रासंगिक सेटिंग भी।


धन्यवाद, लेकिन amavis नहीं चल रहा है।
ब्रायन जी

0

बॉक्स में कितने कोर हैं, और वास्तविक भार क्या है? आपके द्वारा भेजे गए संदेशों की वास्तविक दर क्या है?

अधिकांश की तरह, मेरा पहला विचार डिस्क है, इसलिए जाँच करें।

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


लोड औसत: 464.88, 489.11, 483.91, 4 कोर। लेकिन मेमोरी का उपयोग और सीपीयू न्यूनतम है।
ब्रायन जी

आउच। किसी भी समय आपके पास कितने उपसर्ग सहारा हैं? हो सकता है एक बार में चल रही प्रक्रियाओं की संख्या को ट्यून करने से डिस्क i / o विवाद पर थोड़ा आराम हो जाए। कुछ कम है, लेकिन हर एक थोड़ा तेजी से जा सकते हैं। कि, या कुछ अन्य पोस्टफिक्स थ्रॉटलिंग तंत्र, जैसे लोड कट-ऑफ को कुछ उचित तक सीमित करना।
ज्योफ फ्रिट्ज

16-32 उपसर्ग के उदाहरण।
ब्रायन जी

3
4xx लोड औसत "अत्यधिक उच्च" नहीं है, यह "मेरा सर्वर hosed है" :)
बिल वीस

0

आपके साथ 630 रीड और 1042 प्रति सेकंड लिखते हैं, मैं निश्चित रूप से सिस्टम में आपकी मेमोरी को टक्कर देने का सुझाव देता हूं (ओएस और रैम ड्राइव को बेहतर तरीके से संभालने के लिए) और फिर आपके पोस्टफिक्स फ़ोल्डर को रैमडिस्क बना रहा हूं।

अपने स्वयं के डिस्क पर पूरी तरह से अपनी डिस्क नहीं तो अपने मेल लॉग डालने का सुझाव भी देंगे।


0

यह एक IO समस्या नहीं है, यह पोस्टफ़िक्स कॉन्फ़िगरेशन समस्या है। आप इसे एक साथ बहुत अधिक करने और अपने लिए अड़चन बनाने के लिए कह रहे हैं। की जाँच करें पोस्टफ़िक्स प्रदर्शन ट्यूनिंग रीडमी और / या अपने main.cf पोस्ट तो हम कर सकते हैं।


0

ऐसा लगता है कि आपको एक डॉगी डिस्क मिल गई है। आपका सर्वर केवल 72 रीड रिक्वेस्ट / सेकेंड और 42 राइट / सेकेंड रीड कर रहा है। मेरा सीगेट 7200 आरपीएम डेस्कटॉप एचडीडी प्रति सेकंड 100+ रैंडम रीड / राइट रिक्वेस्ट कर सकता है और फिर भी इसका सामना कर सकता है।

एसडीए पर स्पूल माउंट करने की कोशिश करें और देखें कि क्या लोड बेहतर हो जाता है।

लेकिन इससे पहले कि आप डिस्क पर अधिक पैसा छपें, निम्न कार्य करें:

  1. सक्रिय qshape चलाएं, qshape स्थगित कर दिया गया है, और qshape आने वाली है और हमें प्रत्येक कमांड का कुल पता है।

    आस्थगित कतार में मेल की असामान्य रूप से उच्च संख्या का मतलब है कि आपके मेल सर्वर का उपयोग स्पैमर द्वारा उनके स्पैम को रिले करने के लिए किया जा सकता है (जैसे कि ईमेल को अपरिहार्य डोमेन पर भेजना जो आपके पोस्टफिक्स को बार-बार पुनः प्रयास करने का कारण बनेगा)।

  2. सुनिश्चित करें कि आपके मेल सर्वर को ब्लैकलिस्ट नहीं किया गया है ( http://www.mxtoolbox.com/blacklists.aspx )

  3. DNS प्रतिक्रिया समय की जाँच करें और एक स्थानीय DNS कैश चलाएँ।

    मेल सर्वर DNS का बहुत अधिक उपयोग करते हैं। Do dig somedomain.com mx भागो इस पर कुछ अलग होस्ट करता है। आम तौर पर प्रतिक्रिया समय 100 - 400ms से कम होना चाहिए। यदि आपको उच्च प्रतिक्रिया मिलती है तो आपका DNS अच्छा प्रदर्शन नहीं कर सकता है। विभिन्न DNS आज़माएं (आप google की 8.8.8.8 या OpenDNS: 208.67.222.222 कोशिश कर सकते हैं)

  4. अपने नेटवर्क की जाँच करें। (उदाहरण ifconfig) और देखें कि कितने त्रुटि पैकेट हैं। जांचें कि क्या आपका लिंक संतृप्त या आकार का है। जाँच करें कि क्या मेल लॉग पर कोई अधिक संख्या में ऑपरेशन हुआ था या नहीं। Tcpdump करें और सुनिश्चित करें कि पैकेट खो नहीं रहे हैं या फिर से प्रसारित नहीं हो रहे हैं।

  5. क्या आप हमें बता सकते हैं कि कंसोल उत्तरदायी है (जैसे जब आप कुछ कमांड टाइप करते हैं तो सिस्टम आपको कितनी तेजी से प्रतिक्रिया देता है)?

    आम तौर पर नेटवर्क इश्यू (जैसे डीएनएस) लोड को आसमान छू जाएगा, लेकिन सिस्टम अभी भी उत्तरदायी है।

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