Ko število MySQL odjemalcev preseže največje število povezav, gonilniki v različnih jezikih poročajo o napaki "Preveč povezav".
Java programska napaka:
Vir podatkov je zavrnil vzpostavitev povezave, sporočilo strežnika: "Preveč povezav"
.NET Core programska napaka:
Preveč povezav Ali pa tako Napaka pri povezovanju: Časovna omejitev je potekla. Obdobje časovne omejitve je minilo, preden so pridobili povezavo iz bazena. To se je morda zgodilo, ker so bile vse združene povezave v uporabi in je bila dosežena največja velikost bazena.
Uporabite naslednji ukaz za ogled največjega števila povezav in trenutnega števila povezav:
začasno določite največje število povezav,MySQL strežnika ni treba ponovno zagnati, vendar nastavitev postane neveljavna, ko ponovno zaženete MySQL storitev:
V /etc/my.cnf lahko trajno nastavite največje število povezav do baze podatkov:
Ko nastavimo največje število povezav in testiramo z .NET programom, bo napaka še vedno naslednja:
Napaka pri povezovanju: Časovna omejitev je potekla. Obdobje časovne omejitve je minilo, preden so pridobili povezavo iz bazena. To se je morda zgodilo, ker so bile vse združene povezave v uporabi in je bila dosežena največja velikost bazena. To je posledica dejstva, da .NET odjemalci privzeto uporabljajo niti bazene, največja omejitev za niti pa je privzeta: 100
Prijava do hiperpovezave je vidna.
MiZaprete bazen niti za združevanje, brez uporabe bazena niti ni omejitve, test poteka sočasno s 500 nitmi hkrati in napaka ni prijavljena, kot je prikazano na spodnji sliki:
Testna koda .NET/C# izgleda takole:
(Konec)
|