Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

गोलांग रीस्टफुल एपीआई लोड परीक्षण बहुत अधिक डेटाबेस कनेक्शन का कारण बनता है

जाओ database/sql आपको डेटाबेस से असीमित संख्या में कनेक्शन बनाने से नहीं रोकता है। यदि पूल में निष्क्रिय कनेक्शन है, तो इसका उपयोग किया जाएगा, अन्यथा एक नया कनेक्शन बनाया जाएगा।

तो, लोड के तहत, आपके अनुरोध हैंडलर sql.DB को शायद कोई निष्क्रिय कनेक्शन नहीं मिल रहा है और इसलिए जरूरत पड़ने पर एक नया कनेक्शन बनाया जाता है। यह थोड़ा सा मंथन करता है - जब संभव हो तो निष्क्रिय कनेक्शन का पुन:उपयोग करना और आवश्यकता होने पर नया बनाना- अंततः डीबी के लिए अधिकतम कनेक्शन तक पहुंचना। और, दुर्भाग्य से, गो 1.1 में कोई सुविधाजनक तरीका नहीं है (उदा. SetMaxOpenConns ) खुले कनेक्शन को सीमित करने के लिए।

गोलांग के नए संस्करण में अपग्रेड करें। गो 1.2+ में आपको SetMaxOpenConns मिलता है . और सेटिंग शुरू करने के लिए MySql डॉक्स देखें। ए> और फिर ट्यून करें।

db.SetMaxOpenConns(100) //tune this

यदि आपको Go 1.1 का उपयोग करना है तो आपको अपने कोड में यह सुनिश्चित करना होगा कि *sql.DB एक समय में केवल N क्लाइंट द्वारा उपयोग किया जा रहा है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL को समझाएं निष्पादन योजना गणित, दो योजनाओं के बीच का अंतर

  2. चेतावनी:mysql_query ():3 मान्य MySQL-लिंक संसाधन नहीं है

  3. #1111 - समूह समारोह का अमान्य उपयोग

  4. MySQL IF () फ़ंक्शन समझाया गया

  5. एंटिटी फ्रेमवर्क के साथ अहस्ताक्षरित int/long प्रकार का उपयोग कैसे करें?