2016-05-18 5 views
9

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

|      | Traced (ms) | Untraced (ms) | 
|----------------------+-------------+---------------| 
| High-latency Request |   193 |   29948 | 
| Low-latency Request |   305 |   2934 | 

यहाँ निशान के लिए स्क्रीन शॉट्स:: जब मैं निशान में खोदे मैं निम्नलिखित पाया

कम समग्र विलंबता

Low-latency Request

उच्च समग्र विलंबता

High-latency Request

मैं रनटाइम प्रदर्शन में 10-से-1 अंतर का एहसास नहीं कर सकता।

मुझे केवल इन उच्च-विलंबता अनुरोध लोड के अंतर्गत दिखाई देते हैं। इस परिवर्तनशीलता के लिए मेरे कोड खाते में कुछ हो सकता है (कोड के माध्यम से कोड के माध्यम से एक ही पथ दोनों अनुरोधों के लिए पालन किया गया था)?

+0

क्या आपको अभी भी यह समस्या दिखाई दे रही है? क्या आप वाकई एक ही कोड पथ हैं? प्रश्न में कोड क्या है? –

उत्तर

1

मेरे अनुभव में, उन असाधारण उच्च लेटेंसीज एक नए उदाहरण के कारण होते हैं। https://groups.google.com/d/msg/google-appengine/MBveo1KSTyY/mkYdyCmfAgAJ

दो बातें आप कर सकते हैं:: वहाँ AppEngine Google समूह में एक चर्चा इसी तरह के मुद्दों के बारे में है जो था

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

आशा है कि मदद करता है। मेरे मामले में, एक उच्च उदाहरण वर्ग का उपयोग करने से पहले से बहुत मदद मिली!

+0

आईएमएचओ अगर यह प्रश्न में अनुरोध के लिए सच होगा तो ट्रेस आरपीसी कॉल को ~ 30s टाइमलाइन के अंत में "निचोड़ा" दिखाएगा क्योंकि सभी कॉल ** ** के बाद नया इंस्टेंस शुरू हो जाएगा (इसके अलावा यह अनुरोध लॉग से स्पष्ट होगा क्योंकि इंस्टेंस स्टार्टअप से प्रभावित लोगों को उस प्रभाव के लिए एक जानकारी लॉग संदेश होता है)। लेकिन ट्रेस आरपीसी कॉल वितरण आकार कम विलंबता मामले में से एक के समान है, जिसका अर्थ है कि अनुरोध हैंडलिंग एक समान धीमी है ... –

0

मुझे यह समस्या भी थी, Google max_concurrent_requests को कम करने के लिए सुझाए गए समर्थन का समर्थन करता है। उस समय परिकल्पना सीपीयू थ्रॉटल थी। इसे कम करने के बाद, विलंब सामान्य रूप से बेहतर हो गया। मुझे अभी भी यकीन नहीं था कि क्या हो रहा है क्योंकि मुझे उम्मीद नहीं थी कि एप्लिकेशन उस सीपीयू का उपयोग कर रहा है। दुर्भाग्य से जीएई पर सीपीयू को पिन करने के लिए कोई उपकरण नहीं है जहां पिन सीपीयू गहन भाग

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