Portál AbcLinuxu, 23. dubna 2024 09:36


Dotaz: Mysql nejde nastavil max_connections

10.1.2009 23:43 afaikNothing
Mysql nejde nastavil max_connections
Přečteno: 368×
Odpovědět | Admin

Mám mysql 5.0.51a-3ubuntu5.4 server. V my.cnf mám nastaveno max_connections na 10000, ale nastavilo se jich jen 886. Je to asi nějaká limit systému či co, ale pokud to nastavím přímo přes set global v mysql tak to funguje. Kde je problém?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.1.2009 23:55 afaikNothing
Rozbalit Rozbalit vše Re: Mysql nejde nastavil max_connections
Odpovědět | | Sbalit | Link | Blokovat | Admin

Už jsem našel problém. Může za to ulimit, konkrétně ulimit na open files. Nedá se to nějak obejít, nežli nastavováním ulimits na vyšší hodnotu. Já nepotřebuju 10000 spojení na socketu, ale na portu. Port je vlastně taky socket, ale pro něj neexistuje soubor ne tak by se na něj limit neměl vztahovat?

Heron avatar 11.1.2009 09:21 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Mysql nejde nastavil max_connections

Jsi si jist, že ten stroj 10'000 spojení vůbec zvládne? Pro každé spojení je potřeba paměť (podle mysqltuneru nějakých 12MB, bude se lišit podle nastavení) a na produkčním serveru zákazníka jsem (po předchozím adminovi) našel max_connection=1024 a MysqlTuner prohlášil, že by to chtělo 42GB paměti (což je pro ten stroj zcela mimo možnosti). Ukazuje se, že 128 spojení na běžný provoz bohatě stačí. Je to ještě složitější v tom, že každé spojení si nevezme celou paměť, takže jich v praxi může být i víc, ale ne 10000.

11.1.2009 10:32 afaikNothing
Rozbalit Rozbalit vše Re: Mysql nejde nastavil max_connections

No určitě vím že mi nestačí defaultních 100. 1000 by mohlo stačit, ale nevím. Používám to jako databázi uživatelů, ale při současném přihlášení mnoha uživatelů potřebuju povolit víc spojení. libnss-mysql se totiž chová tak, že otevře spojení a zůstane připojeno dokud nenastane wait_timeout serveru, který jsem musel stáhnout na 60.

11.1.2009 13:51 štěpán
Rozbalit Rozbalit vše Re: Mysql nejde nastavil max_connections

Co místo takovýchto "overhead" naučit vývojáře používat connection pool.

11.1.2009 19:21 afaikNothing
Rozbalit Rozbalit vše Re: Mysql nejde nastavil max_connections

No tak jsem stáhnul max connections na 1200 a wait timeout na 10. To by snad mělo fungovat. Wait timeout je jen timeout při neaktivitě nebo zabere i ve chvíli, kdy je prováděný nějaká dotaz?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.