2009-12-06 17 views
16

मैंने Google App Engine में एक हैलो वर्ल्ड वेबसाइट बनाई है। यह किसी भी पैच के बिना Django 1.1 का उपयोग कर रहा है।Google ऐप इंजन एप्लिकेशन बेहद धीमा

भले ही यह एक बहुत ही सरल वेब पेज है, लेकिन इसमें काफी समय लगता है और अक्सर यह समय लगता है।

इसे हल करने के लिए कोई सुझाव?

नोट: यह पहली कॉल के बाद तेज़ी से प्रतिक्रिया दे रहा है।

+2

इस पर ऐपेंगिन समूह पर हाल के एक पोस्ट में चर्चा की गई: http://groups.google.com/group/google-appengine/browse_thread/thread/22692895421825cb पिंगिंग के साथ समस्या पर भी चर्चा की जाती है - इससे शायद कम हो जाएगा और गूगल और पिंगर्स के रूप में छोटे ऐप टाइमआउट बढ़ते हैं। –

उत्तर

14

यह एक भयानक सुझाव है, लेकिन मैं वैसे भी यह बना देंगे:

एक छोटे से क्लाइंट अनुप्रयोग का निर्माण या सिर्फ cron साथ wget का उपयोग समय-समय पर अपने अनुप्रयोग, हो सकता है एक बार हर 5 मिनट या तो उपयोग करने के लिए। इससे Google को इसे निष्क्रिय स्थिति में डालने से रोकना चाहिए।

मैं कहता हूं कि यह एक भयानक सुझाव है क्योंकि यह संसाधनों की बर्बादी है और Google की निःशुल्क सेवा का दुरुपयोग है। मैं उम्मीद करता हूं कि आप इसे केवल एक छोटे परीक्षण/स्टार्टअप चरण के दौरान ही करें।

+1

Ive पाया कि अलग-अलग आईपी से आने वाले अनुरोध एक-दूसरे द्वारा जरूरी नहीं हैं .. यह निर्भर करता है कि आप जी के वेब फार्म के किस हिस्से को हिट करते हैं ... सत्र किसी दिए गए आईपी के लिए चिपचिपा प्रतीत होता है हालांकि – HaveAGuess

4

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

"पहली हिट धीमा" कई वेब ढांचे में काफी आम है। विकास के दौरान यह दर्द का थोड़ा सा है, लेकिन उत्पादन के लिए कोई समस्या नहीं है।

+0

मैं पुष्टि कर सकता हूं कि यह मेरे साथ भी हुआ। ऐसा लगता है कि ऐपइंजिन आपके आवेदन को नींद में रखता है अगर इसे एक्सेस नहीं किया जाता है, और इसे पहले उठाने के लिए एक श्रमिक प्रक्रिया के बारे में जाता है। मैंने अन्यथा कार्यात्मक ऐप पर टाइमआउट का अनुभव किया है। एक बार डोंडॉन के पहले मिलियन उपयोगकर्ता होने के बाद, यह अब कोई समस्या नहीं होगी :) –

3

मैं इसे पिलोन आधारित ऐप के साथ सामना करता हूं। मेरे पास प्रारंभिक पृष्ठ सर्वर स्थिर है, और उपयोगकर्ता को क्रेडेंशियल्स में टाइप करने से पहले ऐप लाने के लिए इसमें एक डमी AJAX कॉल है। आमतौर पर लंबी प्रतिक्रिया से बचने के लिए पर्याप्त होता है ... केवल एक विचार है कि आप वास्तव में दस लाख उपयोगकर्ताओं के सामने उपयोग कर सकते हैं;)।

4

एक और युक्ति जो प्रतिक्रिया समय को बढ़ा सकती है।

बिलिंग सक्षम करने से कोटा में वृद्धि होती है, और, मेरे व्यक्तिगत अनुभव में, एप्लिकेशन की समग्र प्रतिक्रिया भी बढ़ जाती है। शायद बिलिंग-सक्षम अनुप्रयोगों के लिए Google की उच्च प्राथमिकता के कारण Google है। उदाहरण के लिए, बिलिंग अक्षम वाला एक ऐप 5-10 ईमेल/अनुरोध भेज सकता है, बिलिंग सक्षम वाला एक ऐप आसानी से 200 ईमेल/अनुरोध के साथ प्रतिलिपि बनाता है।

बस कम बिलिंग स्तर सेट के लिए सुनिश्चित हो - आप कभी पता नहीं जब Slashdot, डिग या HackerNews अपनी साइट :) देखती है

7

this thread संक्षेप में अब तक:

  • शीत शुरू होता है एक लंबा समय लग
  • Google एप्लिकेशन पिंग उन्हें गर्म रखने के हतोत्साहित, लेकिन लोगों को पता नहीं है विकल्प
  • नहीं है (जावा की) एक गर्म उदाहरण के लिए भुगतान करने के लिए an issue filed
  • +०१२३५१६४१०६
  • पायथन के लिए an issue filed है। अन्य चीजों के अलावा, .py फ़ाइलों को precompiled नहीं हैं।
  • कुछ ऐप्स असमान रूप से प्रभावित होते हैं (Google समूह रेफरी या समस्या नहीं मिल सकते हैं)
  • March 2009 thread about Python कहता है < 1s (!)

मुझे इस मुद्दे पर पायथन के बारे में कम बात दिखाई देती है।

+1

Django शामिल होने पर पाइथन के साथ यह एक आम शिकायत है। आयात की गई बड़ी मात्रा में एक प्रणाली के साथ अच्छी तरह से काम नहीं करता है जहां उदाहरण अक्सर अनलोड किए जाते हैं। – geoffspear

3

मैंने स्पष्ट कारणों से पिंगडम का उपयोग किया - कोई ठंडा प्रारंभ बोनस नहीं है। बेशक ग्राहक जल्द ही आते हैं और यह एक गैर-मुद्दा

19

अब Google ने एक भुगतान विकल्प "हमेशा चालू" जोड़ा है जो एक दिन 0.30 डॉलर है।

इस सुविधा का उपयोग करके, आपके आवेदन को और भी ठंडा शुरू नहीं करना पड़ेगा।

पर

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

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

हमेशा चालू करने के बाद भी, आपके एप्लिकेशन को अनुरोधों को लोड करने का अनुभव हो सकता है यदि अचानक यातायात में वृद्धि हुई है।

हमेशा पर सक्षम करने के लिए अपने आवेदन की व्यवस्थापक कंसोल में बिलिंग सेटिंग पृष्ठ पर जाएं, और हमेशा क्लिक चेकबॉक्स पर।

http://code.google.com/intl/de-DE/appengine/docs/adminconsole/instances.html

1

आप CloudUp की कोशिश करना चाहते हो सकता है। यह सक्रिय रखने के लिए समय-समय पर आपके Google ऐप्स को पिंग करता है। यह मुफ़्त है और आप जितना चाहें उतने ऐप जोड़ सकते हैं। यह अज़ूर और उसकेोकू का भी समर्थन करता है।