3 जी नेटवर्क पर एक वेब पेज के प्रारंभिक कनेक्शन और एसएसएल हैंडशेक चरण के लोड समय का अनुकूलन कैसे करें?


11

मेरी वेबसाइट www.example.com (SSL सक्षम) होस्टेड EC2 साझा होस्टिंग पर होस्ट की गई है। यह एक वाईफाई / ब्रॉडबैंड कनेक्शन पर तेजी से (लोड समय <2 सेकंड) लोड करता है। मोबाइल में 3 जी नेटवर्क पर मुद्दा ** (एच मोड और एच + मोड नहीं) ** है। एक कनेक्शन चरण शुरू करें और एसएसएल हैंडशेक प्रक्रिया में बहुत समय लगता है - 12 सेकंड। Chrome नेटवर्क टैब के माध्यम से समय मापदंडों की निगरानी की। नीचे वेबपृष्ठ के लिए मापा लोड समय है।

पेज लोड नेटवर्क टाइमिंग आँकड़े

पेज पर संभाले गए डेटा की तरह: परीक्षण किया गया वेब पेज AJAX के माध्यम से 5 मुख्य-मूल्य युग्मित JSON डेटा प्राप्त करता है और इसे वेब पेज पर प्रदर्शित करता है। यह केवल 5-6 पाठ सामग्री के साथ एक बहुत ही हल्का पृष्ठ है।

मैंने 3 जी मोबाइल नेटवर्क (एच मोड) पर कई वेबसाइटों को तेजी से लोड होते देखा है। 3 जी नेटवर्क पर प्रारंभिक कनेक्शन स्थापना चरण के दौरान मेरी वेबसाइट बहुत धीमी है। प्रारंभिक कनेक्शन चरण में देरी को हल करने / अनुकूलित करने के लिए कोई कृपया मेरी सहायता कर सकता है? क्या समर्पित होस्टिंग से वर्तमान समस्या का समाधान होगा?

वेब सर्वर व्यस्त नहीं है और हमेशा सीपीयू और मेमोरी उपलब्ध है।

सर्वर कॉन्फ़िगरेशन: अमेज़ॅन EC2 इंस्टेंस - साझा होस्टिंग (32 सीपीयू और 60 जीबी रैम)। वेब सर्वर - अपाचे। एसएसएल - सिमेंटेक।


क्या आपने एक लोचदार लोड बैलेंसर का उपयोग करने की कोशिश की है और यह HTTPS को संभाल रहा है? यही मैं अमेज़न पर उपयोग करता हूं, और मैंने इस तरह की प्रदर्शन समस्याओं को नहीं देखा है। फिर, मैंने कभी भी 3 जी कनेक्शन के खिलाफ विशेष रूप से परीक्षण नहीं किया है।
स्टीफन Ostermiller

धन्यवाद। सर्वर संतुलित नहीं है। फिर से कुछ मापदंडों पर सर्वर का परीक्षण करेगा और इसे आज़माएगा।
User234334

जवाबों:


8

प्रारंभिक कनेक्शन

आप पाएंगे कि प्रारंभिक कनेक्शन में एसएसएल पर बातचीत शामिल है, इसलिए चूंकि हैंडशेक उच्च है, इसका एक अच्छा संकेतक है कि एसएसएल को सेटअप करने के तरीके के साथ कुछ गंभीर रूप से गलत है।

Google Chrome: संसाधन समय को समझना

टीसीपी हैंडशेक / रिट्रीट और एसएसएल पर बातचीत सहित कनेक्शन स्थापित करने में समय लगा।

एसएसएल हैंडशेक और टीटीएफबी

आपके पास दो प्रमुख मुद्दे हैं, एक SSL हैंडशेक पूरा करने में लगने वाला समय और TTFB (पहले बाइट का समय) की प्रतीक्षा कर रहे सर्वर।

  • TTFB: 4079ms (1000ms से कम होना चाहिए)
  • SSL हैंडशेक 11830ms (100ms से कम होना चाहिए)

यह भी ध्यान दिया जाना चाहिए कि 3 जी / 4 जी उपकरणों के साथ परीक्षण करते समय यह पहले बाइट्स को इस तथ्य के कारण पैदा कर सकता है कि फोन सिग्नल ताकत में भिन्न होते हैं ... यह आंतरायिक कनेक्शन मुद्दों और अलग-अलग समय का कारण हो सकता है।

चरण 1: एसएसएल समस्या की जांच कर रहा है

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

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

लोड बैलेंसर्स मदद कर सकता है अगर इसका सर्वर संसाधन समस्या है।

चरण 2: TTFB की जाँच

एक बार जब आपने एसएसएल के मुद्दे को हल कर लिया है और आपके पास अभी भी एक बढ़ी हुई टीटीएफबी है, तो आपको यह सुनिश्चित करके अपने सर्वर का परीक्षण करना चाहिए कि यह पर्याप्त संसाधन हैं।

पहला बाइट समय इससे प्रभावित होता है, लेकिन इसके लिए सीमित नहीं है:

  • सर्वर की मेजबानी करने वाले उपयोगकर्ता से डेटा सेंटर तक की दूरी TTFB बढ़ा सकती है
  • बिना पढ़े GZIP TTFB बढ़ा सकते हैं
  • बधाई नेटवर्क टीटीएफबी बढ़ा सकते हैं
  • बधाई सर्वर TTFB बढ़ा सकते हैं

कभी-कभी सीपीयू की रैम और रैम को बढ़ाना हमेशा सबसे अच्छा विकल्प नहीं होता है। कभी-कभी एक लोड बैलेंसर को पेश करना बेहतर होता है क्योंकि न केवल इसका मतलब है कि आप आसानी से कई सर्वरों को एक साथ चला सकते हैं बल्कि यह वास्तव में कैशिंग और एसएसएल अनुरोधों को लोड करता है। कुछ अन्य लाभों में शामिल हैं:

स्रोत

  • कैशिंग: उपकरण ऐसी सामग्री को संग्रहीत कर सकता है जो परिवर्तन नहीं करता है (जैसे कि चित्र) और वेब सर्वर पर ट्रैफ़िक भेजे बिना क्लाइंट को सीधे उनकी सेवा दें।
  • संपीड़न: भेजे जाने से पहले फ़ाइलों को संपीड़ित करके HTTP ऑब्जेक्ट के लिए ट्रैफ़िक की मात्रा कम कर देता है।
  • एसएसएल ऑफलोडिंग: वेब सर्वर के सीपीयू पर प्रोसेसिंग एसएसएल ट्रैफिक की मांग है, इसलिए लोड बैलेंसर इस प्रोसेसिंग को कर सकता है।
  • उच्च उपलब्धता: एक के विफल होने पर दो लोड बैलेंसिंग उपकरणों का उपयोग किया जा सकता है।

अपने TTFB को कम करने के लिए सुझाव:

  • सुनिश्चित करें कि आपका डेटाबेस एक ही नेटवर्क या एक गुणवत्ता एसक्यूएल क्लाउड पर है
  • सुनिश्चित करें कि आपके डेटाबेस को मेमोरी से पढ़ा गया है और कभी भी फ़ाइल को स्कैन न करें !
  • सामग्री वितरण नेटवर्क का उपयोग करें , यह सर्वर अनुरोधों और संपीड़न कार्यों को लोड करता है।
  • कैशिंग पृष्ठों द्वारा डेटाबेस पर लोड को कम करने के लिए वार्निश कैश का उपयोग करें
  • HDParm का उपयोग करके हार्ड डिस्क पर अपनी स्थिर फ़ाइलों को बेंचमार्क करें
  • Apache HTTP सर्वर बेंचमार्किंग टूल का उपयोग करके अपने सर्वर को बेंचमार्क करें
  • बेंचमार्क का उपयोग कर कई दूरदराज के स्थानों के साथ 10 गुजरता के साथ वेबसाइट WebPageTest

आपके विस्तृत विवरण के लिए धन्यवाद। सुझाए गए मापदंडों पर फिर से सर्वर का परीक्षण करेंगे और सबसे अच्छा लागू करेंगे!
User234334

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

@StephenOstermiller अच्छी तरह से देखा। प्रतीक्षारत TTFB 4000ms है जबकि SSL 11000ms से अधिक है। यह संभव है कि SSL TTFB को प्रभावित कर रहा है। मैंने उस प्रश्न को प्रतिबिंबित करने के लिए अद्यतन किया है।
साइमन हैटर

धन्यवाद! मैंने अपने एसएसएल का www.ssllabs.com पर परीक्षण किया और रेटिंग "ए" थी। कोई चेतावनी / मुद्दों की सूचना नहीं थी। मैंने पाया कि अपाचे संस्करण 2.2.15 है जो पुराना है। अब इसे अपडेट करने की जरूरत है। मेरी वेबसाइट की सामग्री (टीबी में आकार) / var / www / html / में हैं। क्या अपाचे को अपडेट / रीइंस्टॉल करने से मेरी वेबसाइट की सामग्री हट जाएगी? बिना डेटा खोए अपडेट करने का कोई सबसे सुरक्षित तरीका?
उपयोगकर्ता 234334

एक और बिंदु - ओपनएसएसएल भी नवीनतम संस्करण का है।
User234334

6

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

सबसे पहले, साइट की सेवा के लिए HTTP / 2 का उपयोग करें। इसके लिए अपाचे 2.4.17 या बाद की आवश्यकता होती है

दूसरा, OCSP स्टेपलिंग का उपयोग करने के लिए अपाचे को कॉन्फ़िगर करें। इसके लिए अपाचे 2.3.3 या बाद के प्लस ओपनएसएसएल 0.9.8h या बाद में इसे यहां स्थापित करने के लिए एक अच्छे गाइड की आवश्यकता है । OCSP स्टेपलिंग चीजों को गति नहीं देगा, लेकिन यह क्लाइंट के लिए कुछ काम करेगा और उन्हें OCSP लुकअप का प्रयास करने की परेशानी से दूर करेगा।

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.