में एसएसएल धीमापन हमने ईसी 2 में हमारे रेल ऐप को तैनात किया है। हमारे सेटअप में, हमारे पास राउंड-रॉबिन DNS के पीछे छोटे उदाहरणों पर दो प्रॉक्सी हैं। ये वेब सर्वर के गतिशील रूप से बढ़ते और घटते खेत के लिए nginx लोड बैलेंसर्स चलाते हैं। प्रत्येक वेब सर्वर भी mongrels के समूह के साथ nginx चलाता है। यहां nginx स्थिर सामग्री का ख्याल रखता है और mongrels संतुलन लोड लोड।ईसी 2
वैसे भी, हमारे यातायात द्वारा बड़े पैमाने पर HTTPS है। हमारे पास एसएसएल की देखभाल करने वाले 2 प्रॉक्सी हैं। मैंने देखा है कि उन उदाहरणों पर हमारा नेटवर्क थ्रूपुट केवल 60 एमबीपीएस या उससे भी कम हो जाता है। इसके विपरीत, परीक्षण में मैं लगातार HTTP के माध्यम से एक छोटे से उदाहरण पर 700+ एमबीपीएस प्राप्त करने में सक्षम हूं। असल में, यह वही है जो मुझे एक बड़े उदाहरण पर मिल सकता है। राइट स्केल लोगों को their testing में क्या मिला है। (अमेज़ॅन का कहना है कि एक छोटे से "मध्यम" नेटवर्क I/O प्राप्त होता है, जबकि एक बड़ा "उच्च" हो जाता है। अगर मुझे अनुमान लगाया गया था, तो मुझे लगता है कि यह सिर्फ यह कहने का उनका तरीका है कि प्रति भौतिक बॉक्स साझा करने के लिए एक छोटे से उदाहरण हैं एक नेटवर्क कार्ड मुझे यकीन नहीं है कि इसका मतलब है कि एक बड़ा समर्पित नेटवर्क इंटरफ़ेस प्राप्त करता है, लेकिन मुझे शक होगा।)
परीक्षण में, मैं लगभग 250 एमबीपीएस एसएसएल प्राप्त करने के लिए एक बड़ा उदाहरण प्राप्त करने में सक्षम था। यह मुझे बताता है कि सीपीयू या कुछ अन्य संसाधन बाधा है। हालांकि, हमारे निगरानी ग्राफ हमारे प्रॉक्सी पर विशेष रूप से व्यस्त होने पर सीपीयू नहीं दिखाते हैं।
मेरे प्रश्न हैं:
- एसएसएल सही सीपीयू को धीमी कारण किया जा रहा है और हमारे निगरानी रेखांकन गलत हैं के बारे में मेरी वृत्ति है? या कुछ अन्य संसाधन सीमित कारक हो सकता है?
- क्या हमें अतिरिक्त लागत लेनी चाहिए और प्रॉक्सी को उच्च-सीपीयू उदाहरणों पर रखना चाहिए? या यह बेहतर होगा कि बस थोड़ा और उदाहरण जोड़ें?
- क्या हमें वेब सर्वर पर एसएसएल समाप्ति को ऑफ़लोड करना चाहिए? यह एक और समस्या पेश करता है, हालांकि: हम अपने आवेदन में क्लाइंट आईपी पता कैसे प्राप्त करते हैं? अभी हमारे प्रॉक्सी इसे एक्स-फॉरवर्ड-हेडर में सेट करता है, लेकिन स्पष्ट रूप से यह संभव नहीं होगा यदि यह SSL को डिक्रिप्ट नहीं कर रहा है।
मुझे किसी भी समान सेटअप के बारे में सुनना अच्छा लगेगा। हमने अपने लोचदार लोड बैलेंसर के साथ थोड़ा सा झुकाया, लेकिन मुझे लगता है कि मूल रूप से हमें उसी स्थिति में ऊपर # 3 के रूप में रखा जाता है। क्या किसी और ने ईएलबी पर स्विच किया है और इसे लायक माना है?