2012-04-21 19 views
28

क्या कोई मुझे CPU लोड प्रदर्शन और संपीड़न के संदर्भ में निम्न स्क्रिप्ट में अंतर बता सकता है?mod_deflate बनाम mod_gzip

<ifModule mod_gzip.c> 
mod_gzip_on Yes 
mod_gzip_dechunk Yes 
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* 
mod_gzip_item_include mime ^application/x-javascript.* 
mod_gzip_item_exclude mime ^image/.* 
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</ifModule> 


<ifModule mod_deflate.c> 
<filesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </filesMatch> 
</ifModule> 
+0

संभावित डुप्लिकेट [अपाचे द्वारा प्रदत्त पाठ फ़ाइलों के लिए gzip के बजाय डिफ्लेट का उपयोग क्यों करें?] (Http://stackoverflow.com/questions/388595/why-use-deflate-instead-of-gzip-for-text- फाइल-द्वारा-द्वारा-अपाचे) – KingCrunch

+0

[mod \ _deflate या mod \ _gzip का संभावित डुप्लिकेट, जिसका उपयोग किया जाना चाहिए?] (http://stackoverflow.com/questions/3173147/mod-deflate-or-mod-gzip- जिसका उपयोग किया जाना चाहिए) –

उत्तर

6

अधिकांश संपीड़न एल्गोरिदम, जब एक सादे-पाठ फ़ाइल के लिए आवेदन किया, इसका आकार 70% या अधिक से, फाइल में सामग्री के आधार पर कम कर सकते हैं। संपीड़न एल्गोरिदम का उपयोग करते समय, मानक और अधिकतम संपीड़न स्तरों के बीच का अंतर छोटा होता है, खासकर जब आप इन अतिरिक्त संपीड़न पास को संसाधित करने के लिए आवश्यक अतिरिक्त CPU समय पर विचार करते हैं। गतिशील रूप से वेब सामग्री को संपीड़ित करते समय यह बहुत महत्वपूर्ण है। अधिकांश सॉफ़्टवेयर सामग्री संपीड़न तकनीक CPU चक्रों को संरक्षित करने के लिए 6 (9 स्तरों में से) के संपीड़न स्तर का उपयोग करती हैं। स्तर 6 और स्तर 9 के बीच फ़ाइल आकार अंतर आमतौर पर इतना छोटा होता है कि इसमें शामिल अतिरिक्त समय के लायक नहीं है।

टेक्स्ट/.* एमआईएम प्रकार के रूप में पहचाने गए फ़ाइलों के लिए, इसे तार पर रखने से पहले फ़ाइल पर संपीड़न लागू किया जा सकता है। यह एक साथ बाइट्स की संख्या को स्थानांतरित करता है और प्रदर्शन में सुधार करता है। परीक्षण ने यह भी दिखाया है कि माइक्रोसॉफ्ट ऑफिस और पोस्टस्सिप्ट फाइलें संपीड़न मॉड्यूल द्वारा परिवहन के लिए जीजेआईपी-एनकोडेड हो सकती हैं।

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

किसी ग्राहक को संपीड़ित फ़ाइल भेजने से पहले, यह महत्वपूर्ण है कि सर्वर सुनिश्चित करता है कि क्लाइंट डेटा प्राप्त करने के लिए सही ढंग से समझता है और संकुचित प्रारूप प्रस्तुत करता है।

Accept-encoding: gzip 

Accept-encoding: gzip, deflate 

वर्तमान प्रमुख ब्राउज़रों हर अनुरोध वे भेजने के साथ इस संदेश के कुछ बदलाव शामिल हैं: जो ब्राउज़र संकुचित सामग्री को समझने निम्न क्लाइंट अनुरोध हेडर का एक परिवर्तन भेजें। सर्वर हेडर देखता है और संकुचित सामग्री उपलब्ध कराने के निर्णय लेता है तो यह सर्वर प्रतिक्रिया हेडर के साथ जवाब देना चाहिए:

अधिक जानकारी के लिए यह लेख देखें: http://www.linuxjournal.com/article/6802

+7

यह उत्तर बहुत उपयोगी जानकारी प्रदान करता है लेकिन सवाल को बिल्कुल संबोधित नहीं करता है: कौन सा बेहतर विकल्प है, और क्यों? –

+0

यह कॉपी-एंड-पेस्ट जॉब वास्तविक प्रश्न का उत्तर देने का भी प्रयास नहीं करता है। मुझे नहीं पता कि यह सकारात्मक क्यों प्राप्त हुआ है। – thomasrutter

9

मुझे लगता है कि आप इन के बीच मतभेद के बारे में पूछ रहे हैं दो, और सामान्य रूप से संपीड़न के बारे में नहीं। उस स्थिति में, मैं mod_deflate का उपयोग करने की अनुशंसा करता हूं जो अभी भी सक्रिय परियोजना zlib पर निर्भर करता है। बीटीडब्ल्यू, पुराने लेख (6-7 साल पुराना) जो दोनों की तुलना करते हैं, अब प्रासंगिक नहीं हैं।

1

linuxjournal.com पर इस लेख

http://www.linuxjournal.com/article/6802

अन्य की तुलना में है कि mod_deflate कॉन्फ़िगर करने के लिए आसान है और आम तौर पर है चेक बाहर अपाचे पैकेज के साथ आता है।

2

mod_deflate और mod_gzip को मूल रूप से एक ही चीज़ को पूरा करने में सक्षम, वे आपकी वेबसाइट के आगंतुकों को भेजे जाने से पहले आपकी वेब फ़ाइलों को संपीड़ित करते हैं।

हालांकि दोनों के बीच मतभेद हैं; mod_deflate कभी-कभी mod_gzip के रूप में एक हल्का बेहतर संपीड़न प्रतिशत हो सकता है। Mod_deflate चुनने का एक अन्य कारण यह है क्योंकि यह mod_gzip के रूप में बेहतर समर्थित है जो इसे कॉन्फ़िगर करना आसान बनाता है क्योंकि यह बेहतर दस्तावेज है। अधिक जानकारी here मिल सकती है।

-3

आईएमएचओ आपको स्थिर फाइलों के लिए mod_deflate का उपयोग करने से बचना चाहिए, इसके बजाय modprewite के माध्यम से precompressed फ़ाइलों को सबसे अच्छा संपीड़न उपलब्ध कराने के साथ (7zip बनाया gzip AFAIK) प्रदान करें। अपाचे gzipped स्थिर फ़ाइलों को कैशिंग नहीं कर रहा है।

गतिशील फ़ाइलों के लिए: उपलब्ध बैंडविड्थ पर निर्भर करता है - mod_deflate को प्रोसेसिंग पावर की बहुत आवश्यकता होती है, लेकिन उपयोग करने योग्य यदि आपका सर्वर आपके नेटवर्क को बहने में सक्षम है।

+0

-1 आपका उत्तर राय आधारित है और उस राय का समर्थन करने के लिए कुछ भी मात्रात्मक नहीं है। आपको अपने उपयोग के मामले के आधार पर पेशेवरों और विपक्ष का वजन करना होगा। – Precastic

+0

मुझे लगता है कि मेरी टिप्पणी स्पष्ट चीजें बताती है। स्थैतिक प्रीकंप्रेस्ड फ़ाइलों की सेवा करते समय अपाचे 10 गुना अधिक फाइलों को सेवा दे सकता है। और आप लगभग 10% बैंडविड्थ को बचा सकते हैं क्योंकि 7 ज़िप छोटे ज़िप फ़ाइलों को बनाता है तो gzip। आपके पास gzipping के बिना भी थोड़ा बेहतर प्रतिक्रिया समय होगा। और आप एक ही स्थिर फाइलों को बार-बार ज़िप करने के लिए संसाधनों को बर्बाद कर रहे हैं। कुल मिलाकर mod_deflate एक ठीक मॉड्यूल है, लेकिन केवल गतिशील फ़ाइलों के लिए उपयोग करें। – azazil

3

mod_gzip और mod_deflate अपाचे को gzip संपीड़न जोड़ने के लिए दो वैकल्पिक मॉड्यूल हैं। mod_deflate अधिक आधुनिक है और आजकल एक की सिफारिश करता है और अपाचे के साथ वितरित किया जाता है।

अलग-अलग संपीड़न योजनाओं का उपयोग करने के विचारों से मूर्ख मत बनें। वे दोनों gzip का उपयोग करते हैं (जो डेफलेट संपीड़न प्रारूप के चारों ओर एक रैपर है)। उत्तरार्द्ध को केवल mod_deflate कहा जाता है क्योंकि नाम mod_gzip लिया गया था। वे दोनों समकक्ष सेटिंग्स के साथ मूल रूप से एक ही संपीड़न स्तर प्राप्त करेंगे।

उनके पास अलग-अलग कॉन्फ़िगरेशन हैं, इसलिए आप जिस विशिष्ट उपयोग का उपयोग कर रहे हैं उसके लिए आपको दस्तावेज़ ढूंढना होगा।

+0

कुछ सालों और कुछ चापलूसी के बाद, अंत में कोई ओपी के वास्तविक जवाब पोस्ट करता है। – MarsAndBack