Kai "MySQL" klientų skaičius viršija maksimalų ryšių skaičių, skirtingų kalbų tvarkyklės praneš apie klaidą "Per daug ryšių".
"Java" programos klaida:
Duomenų šaltinis atmetė ryšio užmezgimą, pranešimas iš serverio: "Per daug ryšių"
.NET Core programos klaida:
Per daug ryšių Arba taip prisijungimo klaida: baigėsi skirtasis laikas. Skirtasis laikas praėjo prieš gaunant ryšį iš telkinio. Taip galėjo atsitikti dėl to, kad buvo naudojami visi telkiniai ir pasiektas maksimalus telkinio dydis.
Naudokite šią komandą, kad peržiūrėtumėte maksimalų ryšių skaičių ir dabartinį ryšių skaičių:
laikinai nustatyti maksimalų jungčių skaičių,Jums nereikia iš naujo paleisti MySQL serverio, tačiau nustatymas tampa negaliojantis, kai iš naujo paleidžiate MySQL paslaugą:
Galite visam laikui nustatyti maksimalų ryšių su duomenų baze skaičių /etc/my.cnf:
Kai nustatome maksimalų ryšių skaičių ir išbandome su .NET programa, klaida vis tiek bus tokia:
prisijungimo klaida: baigėsi skirtasis laikas. Skirtasis laikas praėjo prieš gaunant ryšį iš telkinio. Taip galėjo atsitikti dėl to, kad buvo naudojami visi telkiniai ir pasiektas maksimalus telkinio dydis. Taip yra dėl to, kad .NET klientai pagal numatytuosius nustatymus naudoja gijų telkinius, o maksimalus gijų telkinių limitas yra toks: 100
Hipersaito prisijungimas matomas.
MesUždarykite telkimo gijų telkinį, nenaudojant gijų telkinio, nėra jokių apribojimų, testas vienu metu atliekamas su 500 gijų ir nepranešama apie klaidą, kaip parodyta paveikslėlyje žemiau:
.NET/C# bandymo kodas atrodo taip:
(Pabaiga)
|