2012-04-13 15 views
12

मैं बजाय के बारे में सोच कर दिया गया है का उपयोग करते हुए:जाओ वेबसर्वर टॉमकैट, अपाचे की तुलना में लंबी दौड़ स्थिरता के संदर्भ में प्रदर्शन स्थिरता कैसा है?

  • बिलाव
  • अपाचे
  • हल्के वेबसर्वर
  • पीएचपी
  • रूबी
  • JSP

क्यों करने के लिए अपनी परियोजनाओं स्विच नहीं भाषा जाओ वहाँ क्योंकि मेरे पास है: FreeBSD, लिनक्स, सोलारिस पर रन (विंडोज:

  • वेबसर्वर
  • में बनाया मैं भी पीएचपी, रूबी, JSP
  • जाओ जैसे पार मंच हल करती है पर निर्भर करते हैं की जरूरत नहीं है , मैक, एंड्रॉइड, टिज़ेन)
  • न ही अपाचे और न ही टॉमकैट और न ही अन्य वेबसर्वर रखरखाव
  • ब्राउज़र की गति अन्य वेब सर्वर स्क्रिप्टिंग भाषाओं के बाद तेजी से तेज़ी से होगी।

लेकिन एक बात जो मुझे चिंतित है, जो अन्य वेबसर्वर की तुलना में गो वेबसर्वर की स्थिरता है।

क्या किसी ने इसे पहले किया है या मैं अकेले उत्पादन रिलीज के लिए ऐसी परियोजनाओं का निर्माण कर रहा हूं?

+0

रूबी के पास मानक लाइब्रेरी में एक वेबसर्वर भी है (''ब्रिक' की आवश्यकता है), लेकिन मैं जरूरी नहीं कि सीधे उपयोगकर्ताओं को इसका खुलासा कर सकूं। –

+0

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

+0

क्या 'बिल द लिज़र' नहीं है, सिर्फ _love_ बंद करने वाले प्रश्न जो वास्तव में StackOverflow पर उपयोगी हैं ?! कुछ बेवकूफ तकनीकीता के आधार पर। यह साइट असली दुनिया के डेवलपर्स के लिए एक व्यावहारिक प्रश्न-उत्तर मंच है और यह प्रश्न एक होने पर एक महान काम करता है (और उत्तर भी देता है)। मुझे यकीन है कि वह महसूस करता है कि वह अपने जीवन के साथ कुछ अविश्वसनीय रूप से उपयोगी कर रहा है। यह पहली बार नहीं है जब मैं इस स्थिति में भाग गया - इसलिए यह टिप्पणी साल के पुराने 'wat'ing से बाहर है। –

उत्तर

20

कोई स्थिरता समस्या हैं।

मेरे पास महीनों के लिए चलने वाले कुछ वेबसर्वर 100% हैं, बिना किसी समस्या के लगभग दस लाख प्रश्नों की सेवा करते हैं (ज्यादातर जेसन, जीईटी, पोस्ट और वेबसाकेट के माध्यम से)।

वे 64 बिट्स उबंटू सर्वर पर हैं, लेकिन मुझे लगता है कि आपको 32 बिट्स बग के बारे में बहुत अधिक गपशप करने में कठिनाई होगी, खासकर एक वेब सर्वर के साथ।

यदि आपके पास कोई विशिष्ट कारण नहीं है तो फ्रंट-एंड का उपयोग न करें: गो का उपयोग करके एक पूर्ण वेब एप्लिकेशन बनाना आसान है।

आप अकेले से दूर होंगे। मेरी राय में जाओ लंबे समय तक चलने वाले सर्वर बनाने के लिए विशेष रूप से उपयुक्त है। गोरोटाइन्स और चैनल उपयोगकर्ता अनुरोधों और दीर्घकालिक कार्यों को संभालने में वास्तव में आसान बनाते हैं (या, उदाहरण के लिए, http क्वेरी का उत्तर देने के बाद उपयोगकर्ता क्वेरी की पोस्टरमेंट करें, जो php में इतना आसान नहीं है और जावा में बहुत अधिक LOC है अगर आप इसे ठीक से करना चाहते हैं)।

+2

+1 जमीन पर अनुभव से बात करने के लिए। – Flavius

+0

क्या आप जिंदा रखने के लिए एक विशिष्ट उपकरण का उपयोग कर रहे हैं और आप उबंटू पर प्रक्रियाओं पर नजर रख सकते हैं? – Blacksad

+0

आज नहीं। मैं ऐसी सेवा का उपयोग करता हूं जो मुझे चेतावनी देता है अगर कोई जवाब देना बंद कर देता है लेकिन जैसा कि मैंने कभी प्रोड में दुर्घटना का अनुभव नहीं किया है, अब मुझे दबाव नहीं लगता है। मुझे लगता है कि यदि आपको आवश्यकता हो तो आप एक मानक उपकरण का उपयोग कर सकते हैं। मैंने पाया कि डीबग चक्र एक के मुकाबले अलग है, उदाहरण के लिए, जावा या PHP: आप त्रुटियों को वास्तव में तेज़ी से पहचानते हैं, या तो संकलन करते समय या पहले परीक्षणों (ज्यादातर सरणी इंडेक्स त्रुटियों या मानचित्र आवंटित नहीं किए जाते हैं ...) जबकि अधिकांश में अन्य भाषाओं की त्रुटियां अक्सर छिपी जाती हैं। मैं भी "जाओ परीक्षण" समारोह उपकरण का उपयोग करना पसंद करता हूं। तथ्य यह है कि संकलन तेजी से है और ऑपरेशन में शामिल है यह आसान बनाता है। –

1

एनजिनक्स को फ्रंट एंड के रूप में उपयोग करें और सुनिश्चित करें कि आप गो के 64 बिट संस्करण का उपयोग कर रहे हैं। 32 बिट संस्करण में गंभीर स्थिरता समस्याएं हैं जो किसी भी लंबे समय तक चलने वाली प्रक्रियाओं के लिए एक शो स्टॉपर हैं।

+1

क्या आप प्रासंगिक बग रिपोर्ट और/या समाचार समूह/एमएल चर्चाओं के लिए कुछ लिंक प्रदान कर सकते हैं? मुझे मूल प्रश्न की खोज में भी रूचि है, और जब आपका कथन मजबूत है, यह हाथ-लहराते हुए थोड़ा सा प्रतीत होता है; इस तरह के दावों को डेटा द्वारा समर्थित होने की उम्मीद है। – kostix

+0

यहां 32 बिट के साथ समस्याओं पर चर्चा करने वाला धागा है। http://groups.google.com/group/golang-nuts/browse_thread/thread/ab1971bb9459025d/64241d28b02fa0db?lnk=gst – kristianp

+0

कृपया ध्यान दें कि यह बग 64 बिट सर्वर पर भी उत्पन्न हो सकता है लेकिन यह इतना दुर्लभ है कि आप निश्चित रूप से नहीं करेंगे इसे 32 बिट्स पर भी देखें। इसे पहचानने में वर्षों और एक विशिष्ट स्मृति उपयोग पैटर्न लिया गया। –

2

वेबसर्वर में बिल्ड का उपयोग क्यों नहीं करते और वर्नीश की तरह एक रिवर्स प्रॉक्सी सेट अप करते हैं, या Nginx प्रॉक्सी के रूप में कार्य करते हैं?

http://wiki.nginx.org/ReverseProxyCachingExample

+3

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

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