क्या IIS लॉग फ़ोल्डरों पर NTFS संपीड़न का उपयोग करना अच्छा है?


13

क्या IIS लॉग फ़ोल्डर और फ़ाइलों पर NTFS संपीड़न का उपयोग करना एक अच्छा अभ्यास है?

मैं ऐसा करके 20GB से 7GB तक नीचे जाने में सक्षम था। IIS लॉग प्रति दिन हैं, और उनका औसत आकार 20MB है लेकिन कुछ चरम दिनों में 200MB है।

मैं सोच रहा था कि क्या IIS को पूरी फ़ाइल को खोलना है, NTFS को 20MB (या 200MB चरम स्थिति में) हर बार अनज़िप करने के लिए मजबूर करना? या क्या कुछ जादू है जो IIS को सामग्री को जोड़ने की अनुमति देता है? सिस्टम प्रभाव क्या है? अगर हम अपना ट्रैफ़िक बढ़ाते हैं तो क्या यह एक समस्या बन सकती है?

क्या मुझे उन्हें प्रति दिन के बजाय प्रति घंटे विभाजित करना चाहिए?

इस पर कोई आधिकारिक माइक्रोसॉफ्ट पेपर? मैं एक का पता नहीं लगा सका।


2
यदि आपको लॉग को लंबे समय तक बनाए रखने की आवश्यकता है तो उन्हें स्थानांतरित क्यों नहीं करें? वर्तमान दिन के लॉग को सर्वर पर रखें और बाकी को कहीं और स्थानांतरित / संग्रह करें। क्या आप वैसे भी लॉग का उपयोग कर रहे हैं?
जॉयक्वेरी

1
मूविंग एक और प्रक्रिया जोड़ रहा है जो विफल हो सकती है। मैं KISS करने की कोशिश कर रहा था।
माल्ट्रे

जवाबों:


10

जैसा कि इवान ने पहले ही एक सामान्य उत्तर दिया था, मुझे आपके दो उप-प्रश्नों को संबोधित करना पसंद है:

क्या IIS फ्लश हर X मिनट में लॉग करता है?

http.sys, IIS का कर्नेल मोड भाग लॉगिंग के लिए जिम्मेदार है और यह लॉग फाइल में लिखने से पहले डेटा को मेमोरी में बफ़र करता है। मुझे यकीन नहीं है, लेकिन मुझे नहीं लगता कि यह हर एक्स सेकंड में फ्लशिंग करता है, इसके बफर के पूर्ण होने के बाद अधिक संभावना है।

क्या सिंगल लाइन जोड़ते समय पूरी फाइल को पढ़ना पड़ता है?

नहीं, NTFS किसी फाइल को अपने कैशे में अपडेट लिखता है और फिर फाइल में एसिंक्रोनसली डाटा को कंप्रेस और अपीयर करता है। एक संपीड़ित फ़ाइल में लिखना एक असम्पीडित फ़ाइल की तुलना में काफी धीमा नहीं है।

तो IIS लॉग फ़ाइलों पर NTFS संपीड़न का उपयोग करने में कोई समस्या नहीं होनी चाहिए।

सूत्रों का कहना है:

IIS 7 संसाधन किट, अध्याय 15: लॉगिंग - Microsoft प्रेस 2008

विंडोज इंटरनल्स 6 वें संस्करण पार्ट 2, अध्याय 12: फाइल सिस्टम माइक्रोसॉफ्ट प्रेस 2012


बिल्कुल सही जवाब, मैं देख रहा था, @ पीटर- hahndorf!
माल्टात्रे

दिलचस्प बात यह है कि Microsoft का यह आलेख अन्यथा अनुशंसा करता है: If you run a program that uses transaction logging and that constantly writes to a database or log, configure the program to store its files on a volume that is not compressed. If a program modifies data through mapped sections in a compressed file, the program can produce "dirty" pages faster than the mapped writer can write them.प्रश्न यह है कि निरंतर की परिभाषा क्या है ?
शून्य 3

1
@ Zero3 लेनदेन लॉगिंग आईआईएस लॉग से कुछ अलग है। यह वह जगह होगी जहां आपके प्रोग्राम के अंदर एक फंक्शन वास्तव में सफलता के साथ लौटने की अनुमति नहीं है, जब तक कि डिस्क में लिखे जाने से एक ट्रांजेक्शनल बदलाव को टिकाऊ नहीं बनाया जाता है, इसलिए एप्लिकेशन प्रदर्शन सीधे आपके लेन-देन लॉग के लिए आपकी डिस्क राइट स्पीड से संबंधित है।
NReilingh

@NReilingh आप सही हो सकते हैं। मैं वास्तव में नहीं जानता कि क्या आईआईएस अपनी लॉग फ़ाइलों को सिंक / async पर लिखता है। किसी भी तरह से, मुझे लगता है कि समग्र बिंदु जो कि लेख उठाता है (इसमें अन्य उदाहरण हैं, जैसे उपयोगकर्ता फ़ोल्डर बहुत सारे रीड और लिखते हैं) यह है कि भारी आईओ संकुचित फ़ोल्डर के साथ एक मुद्दा हो सकता है।
जीरो 3

13

मैं अपने IIS लॉग को बहुत सारे IIS सर्वरों पर संपीड़ित करता हूं, मुख्य रूप से सर्वर जो आउटलुक वेब एक्सेस / ऐप या कम वॉल्यूम वेब साइटों की मेजबानी कर रहे हैं। मुझे इसे करने में कोई समस्या नहीं है, और डिस्क स्थान बचत के समान है।

सामान्य तौर पर, आप यह निर्णय लेकर भंडारण के लिए सीपीयू का व्यापार कर रहे हैं। यदि आप सीपीयू के साथ शुरू करने के लिए बाध्य हैं तो यह शायद एक अच्छा व्यापार नहीं है। मेरे OWA सर्वर के लिए, जो एक दिन में लॉग के गीगाबाइट्स को बढ़ा सकता है (धन्यवाद ActiveSync डिवाइस) मुझे लगता है कि ट्रेडऑफ़ एक अच्छा है।

NTFS फ़ाइल सिस्टम ड्राइवर संपीड़न को संभालता है, इसलिए यह नहीं बदलता कि IIS फ़ाइलों को कैसे लिखता है।

संपादित करें:

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

एकमात्र तरीका जो आप यह बताने जा रहे हैं कि यह आपको कैसे प्रभावित करता है, इसे स्वयं निर्धारित करना है। संपीड़न के साथ एक आधारभूत अक्षम करें और फिर सक्षम और उनकी तुलना करें। यह जानने के लिए कि आपके ऊपर क्या प्रभाव पड़ेगा, यह जानने के लिए कोई जादू की छड़ी नहीं है - खेल में बस बहुत सारे गैर-नियतात्मक कारक हैं।


1
मुझे इसे कुछ सेकंड के लिए मारो ... क्या आपके पास सर्वरफॉल्ट खेलने के बजाय काम करने की ज़रूरत नहीं है? : पी वैसे भी, +1। मैंने उम्र के लिए एक ही काम किया है और अभी तक इसके परिणामस्वरूप एक समस्या है।
होपलेस एनबीबी

यह उत्तर वास्तविक और मजेदार है, लेकिन मैं अधिक तथ्यों की तलाश कर रहा हूं। मैं बारीकियों को देख रहा हूं, जैसे कि यदि IIS हर दस मिनट में फ्लश करता है और अगर उसे एक लाइन जोड़ने के लिए पूरी फाइल को पढ़ने की जरूरत है।
माल्टात्रे

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