2010-10-06 9 views
9

हमें बहुत सारे googlebot अनुरोध प्राप्त होते हैं।एक टीसीपी/आईपी कनेक्शन में एकाधिक HTTP GET अनुरोध - संसाधित समानांतर या अनुक्रमिक

googlebot एक ही टीसीपी/आईपी सिलसिले में 11 HTTP GET अनुरोध, सभी के माध्यम से 11 विभिन्न फाइलों अप करने के लिए अनुरोध करता है।

इन

  • समानांतर
  • या अनुक्रम में में अनुरोध (सभी एक ही टीसीपी/आईपी कनेक्शन) सर्वर के माध्यम से संसाधित कर रहे हैं?

या यह सर्वर है?

  • इस मामले में, कैसे nginx इस क्या करता है? आपकी मदद के लिए

THX

उत्तर

12

इन (समान टीसीपी/आईपी संबंध में सभी) अनुरोध

समानांतर या अनुक्रम में में सर्वर के माध्यम से संसाधित कर रहे हैं?

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

4

HTTP पाइपलाइनिंग क्रमिक रूप से होता है। HTTP में किसी भी प्रकार की इंटरलीविंग के लिए कोई समर्थन नहीं है।

हालांकि, पाइपलाइनिंग के साथ, सर्वर को अंतिम अनुरोध करने से पहले सभी अनुरोधों के बारे में पता हो सकता है। सिद्धांत रूप में, यह समानांतर में आवश्यक I/O कर सकता है।

ऐसा लगता है कि nginx ऐसा नहीं करेगा, हालांकि।

+2

मैंने अपाचे वेब सर्वर के साथ कई परीक्षण चलाए हैं और यह पुष्टि कर सकते हैं कि यह वास्तव में अनुक्रमिक है - प्रारंभिक धीमी अनुरोध निम्न तेज़ अनुरोधों की प्रसंस्करण में देरी करेगा। –

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