मैं वर्तमान में गोलांग में HTTP पोस्ट करते समय कनेक्शन का पुन: उपयोग करने का एक तरीका खोजने के लिए संघर्ष कर रहा हूं।गोलांग में http कनेक्शन का पुन: उपयोग
मैं एक परिवहन और इतने की तरह ग्राहक बना लिया है:
// Create a new transport and HTTP client
tr := &http.Transport{}
client := &http.Client{Transport: tr}
मैं तो एक goroutine जो इतनी तरह एक ही endpoint के लिए कई पदों बना रही है में इस ग्राहक सूचक गुजर रही है:
r, err := client.Post(url, "application/json", post)
नेटस्टैट को देखते हुए ऐसा लगता है कि प्रत्येक पोस्ट के लिए एक नया कनेक्शन होता है जिसके परिणामस्वरूप बड़ी संख्या में समवर्ती कनेक्शन खुले होते हैं।
इस मामले में कनेक्शन का पुन: उपयोग करने का सही तरीका क्या है?
हाय, प्रतिक्रिया के लिए धन्यवाद। हां, क्षमा करें मुझे इसे भी शामिल करना चाहिए था। मैं r.Body.Close() के साथ कनेक्शन बंद कर रहा हूँ। – sicr
@sicr, क्या आप सकारात्मक हैं कि सर्वर वास्तव में कनेक्शन को बंद नहीं करता है? मेरा मतलब है, ये उत्कृष्ट कनेक्शन '* _WAIT' राज्यों में से एक में हो सकते हैं या इस – kostix
@ कोस्टिक्स जैसे कुछ मैं नेटस्टैट को देखते समय राज्य के साथ बड़ी संख्या में कनेक्शन देखता हूं। ऐसा प्रतीत होता है कि प्रत्येक POST अनुरोध पर एक नया कनेक्शन उत्पन्न किया जा रहा है क्योंकि उसी कनेक्शन का पुन: उपयोग किया जा रहा है। – sicr