Portál AbcLinuxu, 22. května 2024 02:35


Dotaz: Zamrznutí MySQL - pomůže až opakovaný reboot celého serveru

6.7.2009 15:24 Lemon
Zamrznutí MySQL - pomůže až opakovaný reboot celého serveru
Přečteno: 347×
Odpovědět | Admin

Zdravím,

už delší dobu se potýkám s problémem s MySQL databází, která dovedete běžet na serveru (Debian) nonstop třeba půl roku, ale pak přijde jeden nutný reboot serveru, po kterém do jednoho až třech dnů databáze spadne. Vypadá to tak, že load vzroste (ale někdy ne), databáze neodpovídá, ale zbytek běží normálně, apache atp. Při snaze mysql restartovat to vythuhne při jejím vypínání. Nezbyde tak nic jiného než restart celého serveru. Ten většinou pomohl a pak už to stabilně běželo "donekonečna" než jsem učinil časem další restart serveru.

Nějak jsem nedokázal přijít na to co by to mohlo dělat (a myslím, že ani v lozích nic nebylo). Proto jsem je vypnul. Někdo říkal, že to může být dokonce chyba logů. Navíc mi tak poklesla zátež.

Jenže teď se mi přihodila nemilá věc. Po nutném rebootu serveru jsem očekával, kdy to zase padne. A padlo... 2 dni na to. Tak jsem rebootoval server, jenže ouha. MySQL nenaběhlo a load na 30ti. Nechal jsem to 10 minut a stále nic. Opět nepomohlo nic jiného než reboot celého serveru, po kterém to už naběhlo úplně normálně.

Jenže tenhle druhý reboot mě vrátil do nechtěné smyčky a po 3 dnech to padlo zase. Opět pomohl až druhý reboot a opět čekám, kdy to zase klekne.

Teď  ale co s tím. To první nenaskočení databáze po restartu serveru může být nejaká kontrola databáze po pádu a násilném restartu. Tuším, že pokud tu kontrolu přeruším dalším rebootem, příště se nespustí hned po startu, ale v záhadně načasovaném období jednoho až třech dnů (v cronu nic není). Bohužel během této kontroly databáze neběží a probíhat může taky hodinu nebo 2 a protože si to samozřejmě nenačasuje na noc, nemůžu si dovolit ji doběhnout kvůli dostupnosti serveru.

To s tou kontrolou je ale jen domněnka, možná je to něco úplně jiného. Nemáte někdo tušení co? Přemýšlím o opětovném zapnutí logů. Ale jestli mě pamět neklame, tak jsem v nich loni opravdu nic nenašel a jejich zapnutím bych snížil výkon už tak celkem vytíženého serveru na třeba i 3 dny. Když nebude na výběr, učiním tak, ale než to udělám. Nemáte někdo podobnou zkušenost nebo tušení v čem by mohl být problém?

Předem díky za případné podnětné reakce.

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

Odpovědi

6.7.2009 20:24 Jiří Hlinka | skóre: 29 | blog: zapisky | Teplice
Rozbalit Rozbalit vše Re: Zamrznutí MySQL - pomůže až opakovaný reboot celého serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravím, třeba se tu objeví někdo s křišťálovou koulí, ale pokud na něj nechcete čekat, tak rozhodně zapněte logování a podívejte se tam. Upřímně, ještě jsem neslyšel o vypínání logů jako způsobu performance "tuningu"...
6.7.2009 21:23 Lemon
Rozbalit Rozbalit vše Re: Zamrznutí MySQL - pomůže až opakovaný reboot celého serveru

No nebudu se přít, moc toho o tom nevím, ale všiml jsem si, že dokonce v samotném my.cnf je uvedeno:

# Be aware that this log type is a performance killer.
#log        = /var/log/mysql/mysql.log

6.7.2009 21:42 Jiří Hlinka | skóre: 29 | blog: zapisky | Teplice
Rozbalit Rozbalit vše Re: Zamrznutí MySQL - pomůže až opakovaný reboot celého serveru
Vy mluvíte o general query logu (viz http://dev.mysql.com/doc/refman/5.0/en/query-log.html), já mluvím samozřejmě o error logu (viz http://dev.mysql.com/doc/refman/5.0/en/error-log.html).
General query log se hodi v pripade, ze napr. debugujete problem zpusobeny klientem, do logu se uklada v podstate vse co se posila od klienta - pripojeni, odpojeni, vsechny dotazy vcetne SELECTů(!!!) atp., error log loguje chyby serveru samotneho, to je to co Vas zajima (imho ;-))
6.7.2009 23:31 Lemon
Rozbalit Rozbalit vše Re: Zamrznutí MySQL - pomůže až opakovaný reboot celého serveru

Na tom něco bude :) jenže jak hledám tak hledám, pořád nemůžu najít jak bych ten log zapnul přes nějakej konfigurační soubor, aniž bych musel měnit parametry při spouštění mysql. Výstupem tuším bude /var/log/mysql.err, který je teď prázdný. Přijde mi to jako naprosto nejzákladnější záležitost, na kterou se po netu bude válet miliony návodů a ono nic.

7.7.2009 00:06 Jiří Hlinka | skóre: 29 | blog: zapisky | Teplice
Rozbalit Rozbalit vše Re: Zamrznutí MySQL - pomůže až opakovaný reboot celého serveru
Defaultně by se měl error log nacházet ve /var/lib/mysql/[hostname].err, resp. v adresáři určeném parametrem datadir.

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.