2009-07-23 18 views
11

को संकुचित कर सकता हूं, मैं यह पता लगाने की कोशिश कर रहा हूं कि कौन से पृष्ठ परिभाषित करने में कोई सिद्धांत हैं कि कौन से पेज gzip-compressed और सादे HTML सामग्री भेजने के लिए एक रेखा खींचना चाहिए।क्या मैं अपनी सभी एचटीएमएल सामग्री (पेज)

यदि आप लोग अपने प्रोजेक्ट के एक हिस्से को संपीड़ित करने वाले जीजीआईपी में किए गए निर्णयों को साझा कर सकते हैं तो यह सहायक होगा।

उत्तर

7

एक अच्छा विचार बेंचमार्क के लिए है, कितनी तेजी से डेटा बनाम नीचे आ रहा है यह कितना अच्छी तरह से संपीड़ित है। अगर भेजने के लिए 5 सेकंड लगते हैं कुछ ऐसा जो 200K से 160K तक चला गया, शायद यह इसके लायक नहीं है। सर्वर की ओर संपीड़न की लागत है और यदि सर्वर व्यस्त हो जाता है तो यह इसके लायक नहीं हो सकता है।

अधिकांश भाग के लिए, यदि आपका सर्वर लोड नियमित रूप से 0.8 से नीचे है, तो मैं बस जेपीजी, पीएनजी और ज़िप फ़ाइलों की तरह बाइनरी नहीं है।

वहाँ एक अच्छा लिखने अप यहाँ है:

http://developer.yahoo.com/performance/rules.html#gzip

+0

यदि आप gzip संपीड़न के स्तर 1 का उपयोग करते हैं, तो cpu उपयोग बहुत कम हो जाएगा। –

4

जब तक आपके सर्वर के सीपीयू का भारी उपयोग नहीं किया जाता है, तो मैं हमेशा संपीड़न का उपयोग करता हूं। यह बैंडविड्थ और सीपीयू उपयोग के बीच एक व्यापार-बंद है, और वेबसर्वर आमतौर पर अतिरिक्त अतिरिक्त CPU चक्रों को छोड़ने के लिए होते हैं।

4

मुझे नहीं लगता कि HTML सामग्री को gzip करने के लिए कोई अच्छा कारण नहीं है।

लोडिंग गति में बड़े लाभ के लिए बहुत कम CPU पावर लेता है।

+1

क्या आप उन्हें समय से पहले gzip कर सकते हैं, मैन्युअल रूप से, या क्या आपको वेब सर्वर को gzip करने की आवश्यकता है? दूसरे शब्दों में, वे सभी डिस्क पर gzipped फाइलें होंगी, और वेब सर्वर अनजिप करेगा (जब यह भेजता है) जहां कोई ग्राहक कहता है कि यह gzip को संभाल नहीं सकता है। – lumpynose

+0

आप सर्वर कॉन्फ़िगरेशन का उपयोग उन्हें ऑन-द-फ्लाई – Greg

2

हमने सभी सामग्री को gzip करने का निर्णय लिया है, यह निर्धारित करने के लिए कि क्या गजिप करना है या क्या नहीं करना है, प्रयास करने के लायक नहीं था। Gzipping सब कुछ का ओवरहेड कुछ भी gzipping से काफी अधिक नहीं है।

यह webpage पता चलता है:

"सर्वर क्या फ़ाइल प्रकार के आधार पर gzip चुनते हैं, लेकिन आम तौर पर बहुत क्या वे संपीड़ित करने का फैसला में सीमित अधिकांश वेब साइटों को उनके HTML दस्तावेज़ gzip हैं यह है।। भी सार्थक अपनी स्क्रिप्ट और स्टाइलशीट, लेकिन कई वेब साइटों इस अवसर याद आती है gzip है। वास्तव में, यह सार्थक है किसी भी पाठ प्रतिक्रिया XML और JSON। छवि और पीडीएफसहित संपीड़ित करने के लिएफ़ाइलों को gzipped नहीं किया जाना चाहिए क्योंकि वे पहले ही संपीड़ित हैं। की कोशिश उन्हें न केवल कचरे सीपीयू gzip लेकिन संभवतः फ़ाइल आकार बढ़ा सकते हैं। "

आप CPU समय के बारे में परवाह है, मैं पहले से ही संकुचित सामग्री gzipping नहीं सुझाव है। याद रखें जब एक सिस्टम के लिए जटिलता कहा कि प्रोग्रामर्स/sys व्यवस्थापक महंगे हैं, सर्वर सस्ते

4

एक उल्लेखनीय अपवाद नहीं है:।। वहाँ एक bug in Internet Explorer 6, सभी संकुचित सामग्री खाली बारी बनाता है

+0

हाँ पर gzip करने के लिए करेंगे। बेवकूफ आईई 6। http://sebduggan.com/posts/ie6-gzip-bug-solved-using-isapi-rewrite – Nosredna

+1

आईई 6 के लिए, यह उस चेकबॉक्स के लिए आम है "इंटरनेट विकल्प> उन्नत> सेटिंग्स> एन्क्रिप्टेड पृष्ठों को डिस्क पर न सहेजें" जांचने के लिए चेकबॉक्स? जैसे आईई 6 उपयोगकर्ताओं के किस प्रतिशत ने "जंगली में" जांच की होगी? – scunliffe

+0

अच्छा बिंदु, वह लिंक एक दुर्लभ मामला था। यहां एक और है, यह अभी भी दुर्लभ है, लेकिन अभी भी मौजूद है: http://support.microsoft.com/default.aspx?scid=kb;en-us;823386&Product=ie600 - मुझे यकीन है कि वहां से कहीं और आया है। –

2

ध्यान में रखते हुए जब यह gzipped है डाउनलोड करने के लिए एचटीएमएल डेटा के आकार पर एक बड़ा लाभ है, मैं नहीं दिख रहा है तुम क्यों gzip नहीं करना चाहिए यह।

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

(लेकिन अपने वेब सर्वर है कि करते हैं: वहाँ सबसे अधिक इस्तेमाल किया सर्वर के लिए mod_deflate तरह मॉड्यूल हैं)

एक अर्द्ध sidenote के रूप में: आप HTML सामग्री पृष्ठों को संपीड़ित करने के बारे में बात कर रहे हैं ... लेकिन HTML पृष्ठों में बंद हो: आप जेएस और सीएसएस को भी संपीड़ित कर सकते हैं (वे टेक्स्ट फाइलें हैं, और, इसलिए, आमतौर पर वास्तव में अच्छी तरह से संपीड़ित होते हैं), और इसके लिए अधिक CPU खर्च नहीं होता है।

आजकल बड़े जेएस/सीएसएस फ्रेमवर्क को उपयोग में रखते हुए, एचटीएमएल पृष्ठों को संकुचित करके उन लोगों को संपीड़ित करके शायद अधिक परिणाम प्राप्त होता है।

संबंधित मुद्दे