2010-09-27 4 views
8

मुझे अपनी वेबसाइट को क्लाइंट साइड पर तेज़ी से बनाने की आवश्यकता है। मुझे आश्चर्य है कि मेरे अत्यधिक जावास्क्रिप्ट कुकी मैनिपुलेशन ब्राउज़र को धीमा कर सकता है। यह हार्डड्राइव का उपयोग करता है, जो कंप्यूटर का सबसे धीमा घटक है। एक गंभीर रूप से खंडित हार्डड्राइव पर, कुकी हेरफेर ब्राउज़र को फ्रीज कर सकता है?जेएस में एक कुकी बहुत धीमी गति से लिख रहा है?

क्या जेएस कुकी लेखन/पढ़ने (कैशिंग, आदि ..) के लिए कोई अनुकूलन कर रहा है। क्या मैं अपनी साइट को बेहतर बनाने के लिए इन अनुकूलन का फायदा उठा सकता हूं?

सर्वर साइड डेटाबेस के साथ क्लाइंट-साइड कुकीज़ को प्रतिस्थापित करना प्रश्न से बाहर है क्योंकि मेरे सर्वर पहले ही ओवरलोड हो चुके हैं।

+2

समयपूर्व अनुकूलन? मैं कुकी को तेजी से भरोसा करता हूं क्योंकि ज्यादातर कुकीज़ डिफ़ॉल्ट रूप से बहुत छोटी होती हैं। क्या आप समझा सकते हैं कि आपको क्यों लगता है कि आपकी कुकी प्रदर्शन पर नकारात्मक प्रभाव डालने जा रही हैं? – jcolebrand

उत्तर

0

कुकीज़ अनुरोध और प्रतिक्रिया शीर्षलेख का हिस्सा हैं, इसलिए उन्हें लोड करने का मतलब है हर अनुरोध और प्रतिक्रिया को लोड करना। दूसरा, आप प्रति डोमेन कुल 50 कुकीज़ तक सीमित हैं, और 4k प्रति कुकी तक सीमित हैं।तीसरा, कई उपयोगकर्ता कुकीज़ से बिल्कुल डरते हैं, और अगर वे हानिरहित हैं तो भी उन्हें हटा देते हैं।

उन 3 कारणों से, वेब डेवलपर्स बहुत ही कम समय तक उनका उपयोग नहीं करते हैं जब तक कि पूरी तरह जरूरी नहीं है (यानी सत्र टोकन)। चूंकि वेब डेवलपर्स शायद ही कभी उनका उपयोग करते हैं, उनके चारों ओर कुछ "सर्वोत्तम प्रथाएं" हैं, और उन्हें अधिक ध्यान नहीं दिया जाता है।

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

+0

कुकीज़ को सर्वर पर क्यों भेजा जाता है? मेरा सर्वर कोड कुकीज़ का कभी भी उपयोग नहीं करता है। मैं केवल जेएस पक्ष पर कुकीज़ का उपयोग करता हूं। तो अगर मैं प्रत्येक उपयोगकर्ता के पास 20 कुकीज़ हैं, तो सभी 20 प्रत्येक PHP सर्वर अनुरोध पर भेजे जाएंगे? क्यूं कर??? क्या सर्वर पर कुकीज़ भेजने को अक्षम करने का कोई तरीका है? – JoJo

11

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

जैसे कि आप हालांकि कर सकते हैं अन्य अनुकूलन के टन, के होते हैं:

  • gzipped सामग्री
  • अपनी साइट के रूप में ज्यादा यह सुनिश्चित करना आपकी फ़ाइलों की सेवा कैश करने योग्य
  • CSS स्प्राइट का उपयोग करना है और जावास्क्रिप्ट + सीएसएस फ़ाइलों के संयोजन HTTP अनुरोध को कम करने (भी अपने सर्वर से लोड कम हो जाएगा)
  • अपने जावास्क्रिप्ट, सीएसएस और एचटीएमएल को कम करने

पेज लोड समय को कम करने के ये सभी सिद्ध तरीके हैं।

अपने पृष्ठ को तेज़ी से लोड करने के तरीके के बारे में अधिक जानकारी के लिए, YSlow प्राप्त करें! फ़ायरफ़ॉक्स/फ़ायरबग http://developer.yahoo.com/yslow/

+0

हाँ ... मुझे पूरा यकीन है कि आपके लोड समय के मुद्दों के पास आपकी कुकीज़ –

+0

+1 के साथ कुछ भी अच्छा सुझाव नहीं है। जेनेरिक पेज लोड समय के लिए –

+0

, मुझे नहीं लगता कि मुझे कभी भी एक बेहतर टूल मिला है, फिर https://chrome.google.com/extensions/detail/ognampngfcbddbfemdapefohjiobgbdl –

0

+1 एक अच्छे प्रश्न के लिए प्लगइन, हालांकि डरावनी प्रभाव वाले एक के लिए प्लगइन।

अतिरिक्त किए गए कुछ भी संभावित रूप से प्रदर्शन प्रभाव डाल सकते हैं, हालांकि यह लगभग किसी भी मामले में मामूली होगा। मुझे कुकीज़ पढ़ने/लिखने के लिए जावास्क्रिप्ट द्वारा किए गए किसी भी अनुकूलन से अवगत नहीं है, लेकिन अधिकांश डिस्क नियंत्रकों के पढ़ने/लिखने के कैशों को लापरवाही के बिंदु पर इस I/o को सुचारू बनाना चाहिए।

यह डरावना क्यों है?

  1. कुकीज़ आकार/मात्रा सीमा हो सकता है: http://support.microsoft.com/kb/306070 और http://en.wikipedia.org/wiki/HTTP_cookie

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

  3. कुकीज़ कभी-कभी अक्षम होती है।

आपने बताया कि आपका डेटाबेस धीमा है, लेकिन कुछ सत्र चर जोड़ने से आपके डेटाबेस पर कोई अतिरिक्त लोड नहीं होगा। या क्वेरी स्ट्रिंग पर क्लाइंट-साइड डेटा में हेरफेर करने का प्रयास करें, या यहां तक ​​कि कुछ चर (गैर-सुरक्षित जानकारी, निश्चित रूप से) पास करें।

0

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

अधिक जानकारी के लिए ServeFromCookielessDomain देखें।

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