जाओ database/sql
आपको डेटाबेस से असीमित संख्या में कनेक्शन बनाने से नहीं रोकता है। यदि पूल में निष्क्रिय कनेक्शन है, तो इसका उपयोग किया जाएगा, अन्यथा एक नया कनेक्शन बनाया जाएगा।
तो, लोड के तहत, आपके अनुरोध हैंडलर sql.DB को शायद कोई निष्क्रिय कनेक्शन नहीं मिल रहा है और इसलिए जरूरत पड़ने पर एक नया कनेक्शन बनाया जाता है। यह थोड़ा सा मंथन करता है - जब संभव हो तो निष्क्रिय कनेक्शन का पुन:उपयोग करना और आवश्यकता होने पर नया बनाना- अंततः डीबी के लिए अधिकतम कनेक्शन तक पहुंचना। और, दुर्भाग्य से, गो 1.1 में कोई सुविधाजनक तरीका नहीं है (उदा. SetMaxOpenConnsए> ) खुले कनेक्शन को सीमित करने के लिए।
गोलांग के नए संस्करण में अपग्रेड करें। गो 1.2+ में आपको SetMaxOpenConns मिलता है . और सेटिंग शुरू करने के लिए MySql डॉक्स देखें। ए> और फिर ट्यून करें।
db.SetMaxOpenConns(100) //tune this
यदि आपको Go 1.1 का उपयोग करना है तो आपको अपने कोड में यह सुनिश्चित करना होगा कि *sql.DB
एक समय में केवल N क्लाइंट द्वारा उपयोग किया जा रहा है।