Blueboard a MySQL – [1040] Too many connections

akmt
Člen | 20
+
0
-

Zdravím,

poslední týdny řeším problém s MySQL na mém hostingu u Blueboard. S jejich podporou se mi nepovedlo odhalit zdroj problému.

Abych trochu nastínil situaci: Mám několik webů, které běží pod jednou databází/jedním CMS. Každý web má svůj konfigurační soubor načítaný v Bootstrap.php na základě HTTP HOST. Pak je jeden společný konfigurační soubor pro databázi. Vše se zdá funkční, ale na hostingu se mi pravidelně objevuje exception s chybou:

Nette\Database\ConnectionException #HY000

SQLSTATE[HY000] [1040] Too many connections
.../Container_1fce2ff855.php:1888 source  Nette\Database\Connection->__construct
1878:
1879:
1880:        public function createServiceContainer(): Container_1fce2ff855
1881:        {
1882:            return $this;
1883:        }
1884:
1885:
1886:        public function createServiceDatabase__default__connection(): Nette\Database\Connection
1887:        {
1888:            $service = new Nette\Database\Connection('mysql:host=localhost;dbname=XXX', 'XXX', 'XXX', []);
1889:            $this->getService('tracy.blueScreen')->addPanel(['Nette\Bridges\DatabaseTracy\ConnectionPanel', 'renderException']);
1890:            return $service;
1891:        }
1892:

Podpora Blueboard mi napsala, že problém je v překračovaní souběžných připojení uživatelem k databázi.

Weby negenerují žádný extrémní traffic, proto mě zaráží, že k takové chybě dochází. Nebyl jsem schopný vygooglovat jakýkoliv relevantní návod s hledáním problému v mojí webové aplikaci (CMS) a zda je možné mít špatně implementovaný přístup k databázi přes Nette Database Explorer a zda je možné toto nějak tracovat i na lokálu.

Moc děkuji za jakékoliv nakopnutí v této věci.

Kamil Valenta
Člen | 820
+
0
-

Nejsou tam třeba nějaké úlohy v cronu, které nedobíhají?

akmt
Člen | 20
+
0
-

Kamil Valenta napsal(a):

Nejsou tam třeba nějaké úlohy v cronu, které nedobíhají?

Bohužel, nic takového nemám, žádné extrémně výpočetně náročné operace nebo crony.

Kamil Valenta
Člen | 820
+
+1
-

Podíval bych se do logu od kdy to padá do 500 (Too many connections v logu bude).
Pak bych se podíval do AccessLogu na výše uvedený čas, zda tam třeba nebyl nějak DDoS nebo to prostě nevyžrali boti.