2008-11-14 13 views
40

हम एक वेब सामग्री त्वरक की जरूरत स्थिर चित्र हमारे अपाचे वेब सामने अंत सर्वरटक्स, वार्निश या स्क्विड?

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

टक्स और स्क्विड के बीच कोई विचार? संगतता, विश्वसनीयता और भविष्य के समर्थन प्रदर्शन के रूप में हमारे लिए महत्वपूर्ण हैं।

इसके अलावा, मैं यहां वार्निश के बारे में अन्य धागे में पढ़ता हूं; स्क्विड, और/या टक्स की तुलना में किसी के पास वार्निश का वास्तविक वास्तविक अनुभव है, जो उच्च ट्रैफिक वातावरण में प्राप्त हुआ है?

चीयर्स

इयान

अद्यतन: हम विद्रूप परीक्षण कर रहे हैं अब। 100 की समरूपता के साथ एक ही छवि को 10,000 बार खींचने के लिए, अपाचे दोनों को अपने आप पर और स्क्विड/अपाचे अनुरोधों के माध्यम से जला दिया जाता है। लेकिन स्क्विड ने छवि के लिए अपाचे को केवल एक ही अनुरोध किया, फिर उन सभी को रैम से सेवा दी, जबकि छवियों की सेवा के लिए अकेले अपाचे को बड़ी संख्या में श्रमिकों को फोर्क करना पड़ा। ऐसा लगता है कि स्पीड गतिशील पृष्ठों को संभालने के लिए अपाचे श्रमिकों को मुक्त करने में अच्छी तरह से काम करेगा।

+23

सिर्फ इस प्रश्न का शीर्षक पढ़ते हुए, यह बहुत उल्लसित लगता है। जैसे, "आज रात के खाने के लिए मुझे क्या पहनना चाहिए? टक्स, वार्निश या स्क्विड?" – nickf

+4

" आज रात के खाने के लिए हमें क्या खाना चाहिए शहद? टक्स, वार्निश या स्क्विड? " – Jayen

उत्तर

3

दोनों स्क्विड और nginx विशेष रूप से इसके लिए डिजाइन किए गए हैं। nginx एक सर्वर फार्म के लिए कॉन्फ़िगर करना विशेष रूप से आसान है, और फास्टसीजीआई के लिए एक अग्रभाग भी हो सकता है।

+4

स्कीड और वार्निश की तुलना में nginx की कैशिंग सुविधाएं सीमित हैं। –

+0

स्क्विड एक आगे प्रॉक्सी है, यह _not_ को रिवर्स प्रॉक्सीइंग के लिए डिज़ाइन किया गया था। इसके अलावा, nginx विशेष रूप से मूल वेब सर्वर होने के लिए डिज़ाइन किया गया था, नहीं एक प्रॉक्सी - जिसे बाद में जोड़ा गया था। – perbu

3

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

1

हम आईआईएस 6 स्थापना के सामने एक वार्निश 2.01 सर्वर रोल करने वाले हैं। हमारे पास केवल एक ही चेतावनी थी जो हमारे एसएसएल के साथ थी (क्योंकि वार्निश एसएसएल को संभाल नहीं सकता है)। इसलिए हमने उन अनुरोधों को संभालने के लिए Nginx भी इंस्टॉल किया है।

हमारे सभी परीक्षणों में हमने साइट को संभाल सकते हैं यातायात की मात्रा में 66% प्रतिशत की वृद्धि देखी है।

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

+2

क्या आप "वार्निश अच्छी तरह से कुकीज़ को संभाल नहीं लेते" पर विस्तृत कर सकते हैं? –

+1

http://www.code-emitter.com/blog/2008/10/added-varnish-just-works/ वार्निश एक पृष्ठ को कैश नहीं करेगा यदि उसके पास कुकीज़ है। – Daniel

+8

कैश आमतौर पर कुकीज़ के साथ पृष्ठों को कैश नहीं करते हैं। धारणा यह है कि यदि आप कुकी सेट करते हैं तो आप सामग्री के आधार पर उस अनुरोध के साथ कुछ * अलग * करने की अपेक्षा करते हैं कुकी का। अन्यथा, कुकीज़ सेट करने का कोई मतलब नहीं है। अगर आप कैश की सेवा करना चाहते हैं, तो कुकी को अपने वार्निश कॉन्फ़िगरेशन में हटा दें। – tylerl

34

मेरे अनुभव में वार्निश स्क्विड से बहुत तेज है, लेकिन उतना ही महत्वपूर्ण है कि यह स्क्विड की तुलना में एक ब्लैक बॉक्स का बहुत कम है। वार्निश आपको बहुत विस्तृत लॉग तक पहुंच प्रदान करता है जो समस्याओं को डीबग करते समय उपयोगी होते हैं। यह विन्यास भाषा भी बहुत सरल और स्क्विड की अधिक शक्तिशाली है।

+1

जो बहुत दिलचस्प लगता है। आप के लिए वार्निश का उपयोग कर रहे हैं। क्या आप किस काम का उल्लेख कर सकते हैं? मुझे आपकी टिप्पणियों के संदर्भ में रूचि है। –

+1

मैं सहमत हूं। आप वीसीएल कॉन्फ़िगरेशन के साथ कई महत्वपूर्ण चीजें कर सकते हैं। –

4

हम http://www.mangahigh.com पर वार्निश का उपयोग करते हैं और लगभग 100 समवर्ती पूर्व-वार्निश से 560 समवर्ती पोस्ट-वार्निश तक स्केल करने में सक्षम हैं (इस बिंदु पर सर्वर लोड 0 पर बना रहा है, इसलिए बढ़ने के लिए बहुत सारी जगह है!)। वार्निश के लिए प्रलेखन बेहतर हो सकता है, लेकिन इसका उपयोग करने के बाद यह काफी लचीला है।

वार्निश स्क्विड से बहुत तेज़ होना है (कभी भी स्क्विड का उपयोग नहीं किया गया है, मैं निश्चित रूप से कुछ नहीं कह सकता) - और http://users.linpro.no/ingvar/varnish/stats-2009-05-19 ट्विटर, विकिया, हूलू, perezhilton.com और कई अन्य बड़े नाम भी दिखाता है उसका इस्तेमाल कर रहे हैं।

15

@ डैनियल, @ एमकेयूएलटीए, कुकीज़ के साथ वार्निश की समस्याओं पर विस्तार करने के लिए, वास्तव में कोई भी नहीं है।अगर यह एक कुकी देता है तो अनुरोध पूरी तरह से है। कुकीज़ का उपयोग ज्यादातर उपयोगकर्ता प्राथमिकताओं को अलग करने के लिए किया जाता है, इसलिए मुझे नहीं लगता कि कोई इन्हें कैश करना चाहेगा (विशेष रूप से यदि आप सत्र आईडी या पासवर्ड जैसी कुछ गुप्त जानकारी शामिल करते हैं!)।

यदि आप सर्वर अपने .js और छवियों के साथ कुकीज़ भेजता है, तो यह आपके बैकएंड पक्ष पर एक समस्या है, न कि वार्निश की तरफ। जैसा कि @ डैनियल (लिंक प्रदान किया गया है) के संदर्भ में, आप वैसे भी इन फ़ाइलों की कैशिंग को मजबूर कर सकते हैं, वास्तव में अच्छी भाषा/डीएसएल वर्निश में एकीकृत ...

6

इसके लायक होने के लिए, मैंने हाल ही में nginx को एक के रूप में स्थापित किया है 6 वर्षीय लो-पावर वेबसर्वर (फेडोरा कोर 2 चला रहा है) पर अपाचे के सामने रिवर्स-प्रॉक्सी जो हल्के डीडीओएस हमले (10 के रीक/सेकंड) के तहत था। पेज लोडिंग स्नैपी (< 100ms) थी और सिस्टम लोड लगभग 20% CPU उपयोग पर कम रहा, और बहुत कम स्मृति खपत। हमला 1 सप्ताह तक चला, और आगंतुकों को कोई बुरा प्रभाव नहीं पड़ा।

प्रति मिनट आधा मिलियन हिट के लिए बुरा नहीं है। बस/dev/null पर लॉग इन करना सुनिश्चित करें।

12

यदि आप स्थैतिक छवियों को धक्का दे रहे हैं और उनमें से बहुत से, तो आप पहले कुछ मूलभूत बातें देखना चाहेंगे।

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

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

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

मुझे टक्स के साथ कोई अनुभव नहीं है, इसलिए मैं इस पर टिप्पणी नहीं कर सकता।

2

चूंकि आपके पास पहले से स्थिर और गतिशील सामग्री की सेवा करने वाले अपाचे हैं, इसलिए मैं आपको वार्निश के साथ जाने की सलाह दूंगा।

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

1

कोई भी उल्लेख नहीं करता है कि स्क्विड HTTP specification को पत्र (या कम से कम वे कोशिश करने के लिए) का पालन करता है जबकि वार्निश नहीं करता है। मेरी राय में, इसका मतलब है कि वार्निश अलग-अलग साइटों के लिए कैशिंग सामग्री के लिए बेहतर अनुकूल है (बड़े पैमाने पर वार्निश को ट्यून करके) और स्क्विड कई साइटों के लिए सामग्री कैशिंग के लिए बेहतर है (जिनमें से प्रत्येक को spec के अनुसार अपनी सामग्री "कैचबल" बनाना होगा)।

+4

"वार्निश [चश्मा का पालन नहीं करता]" पर विस्तार करने के लिए सावधानी बरतें? – Andreas

+0

@ एंड्रिया मूल रूप से, आप कैशिंग हेडर को अनदेखा कर सकते हैं। जब सर्वर कहता है कि आपको नहीं करना चाहिए और इसके विपरीत आप कैश कर सकते हैं। यह पूरी तरह से प्रोग्राम करने योग्य है। आईआईआरसी स्क्विड वह लचीला नहीं है, यानी। आपको इसे स्पेक से बाहर जाने की कोशिश करने की आवश्यकता है। – laughingbovine

+0

तो इसे फिर से लिखने के लिए: "वार्निश चश्मे का पालन करता है जब तक कि आप इसे न कहें"। सही? – Andreas

3

यह कोई नहीं अपाचे यातायात सर्वर (पूर्व, याहू यातायात सर्वर) http://trafficserver.apache.org/

कृपया इसे पर एक नजर है उल्लेख किया है कि दिलचस्प है, यह खूबसूरती से काम करता है।

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