Fórum Root.cz
Hlavní témata => Server => Téma založeno: thcom 17. 03. 2016, 20:39:29
-
Ahoj, mam ve firme server na nem ununtu tusim 12.04 LTS a na nem percona server 5.6
na win stanici bezi delphi aplikace ktera pracuje s daty na tomto serveru
par dni pet si zacal pesonal stezovat, ze aplikace je prilis pomala
dnes jsem mrknul na server a zjistil, ze je sptrebovano sporo 735 GB ram z 8 GB
pomoci htop jsem nasel nekolik modrych mysqld procesu
zatim patram guglim, ale nenapada vas nekoho, cim by to mohlo byt ?
zde vystup z htop
http://postimg.org/image/pt0puajpx/
diky moc za pripadne rady
Tomas Holy
-
Ahoj, mam ve firme server na nem ununtu tusim 12.04 LTS a na nem percona server 5.6
na win stanici bezi delphi aplikace ktera pracuje s daty na tomto serveru
par dni pet si zacal pesonal stezovat, ze aplikace je prilis pomala
dnes jsem mrknul na server a zjistil, ze je sptrebovano sporo 735 GB ram z 8 GB
pomoci htop jsem nasel nekolik modrych mysqld procesu
zatim patram guglim, ale nenapada vas nekoho, cim by to mohlo byt ?
Co neukončené transakce, nevisí tam něco?
SHOW FULL PROCESSLIST;
SELECT * FROM `information_schema`.`innodb_trx` ORDER BY `trx_started`;
-
procesy podle me OK
Id User Host db Command Time State Info Rows_sent Rows_examined
525 kasa 10.0.0.10:64396 pokladna Sleep 0 NULL 0 57
643 root localhost pokladna Query 0 init SHOW FULL PROCESSLIST 0 0
644 root localhost pokladna Sleep 0 NULL 0 0
transakce vubec nepouzivam, jenom select insert update a obcas delete :)
-
obecne k htop, pokud zobrazuje ti vlakna(threads) tak si muzes myslet ze toho bezi vic, klavesova zkratka shift+h prepina zapnuti/vypnuti vlaken, pri vypnuti pak vidis seznam opradu jen procesu, overis to tak ze prvni radek pravo "Tasks: 123, 234 thr" nebude zobrazovat ten pocet "XXX thr"
tech 90% jestli opravdu zere mysql zjistis kdyz si to seradis podle MEM%, protoze podle obrazky je videt ze to urcite neni ani celkem, ten barevnej prouzek u pameti znamena ze pouze zelana=obsazeno, ostatni (pripraveno kdykoliv upustit) cervena=buffer a zluta=cache...
btw: http://www.linuxatemyram.com/
-
edit: buffer je modra (cervena u ram neni)
-
A to je jako spatne, ze si DB vezme pamet, aby byla rychlejsi? IMHO je to dane prave tim, ze tam mas Perconu(urceno pro maximalni vykon). Naproti tomu MySQL je v defaultu sice "usporne"(urceno snad pro stroje s 32MB RAM nebo co tam vymysleli), ale to je mi na dve veci kdyz je kvuli tomu pomale. MariaDB je nekde mezi.
Jinak tu spotrebu pameti ovlivnis tim jak si nastavis promenne. Zalezi jestli pouzivas InnoDB nebo MyISAM storage apod.
-
ja to prve napsal s preklepem, omlouvam se zralo to pred hoddinou 7 GB z 8 GB ted je tam 2.5 GB z tech 8 GB
dle top
dale me trochu zarazi, ze mysqld proces vetsinu casu jede na 50 66 i 93 % +-
fakt tam bezi jednoduche dotazy, je to restaurace, takze otevri stul, ucet, pridej 2 piva 1 gulas, obcas select na tisk uctu
je tam CPU i5 takze mi ten load prijde moc vysoky
perconu mam kvuli replikaci, kamarad mi ji doporucil ze pry v cistem mysql funguje hure
jinak eistuje neco jako profiler pro MySQL, vim ze neco je poro delphi a toi funguje krasne, vzdy mi to ukaze slabe misto v programu, ktere lze popr optimalizovat
ale pro mysql si to nejak nedovedu predtavit ...
diky tH
-
Zobrazování spotřeby paměti aplikace je opravdu tvrdý oříšek a ten kdo nerozumí jak to funguje z toho může udělat šílené závěry.
1) Vlákna sdílí jeden adresový prostor. Některé zobrazovače ale evidují paměť pro každé vlákno i když vlastně všichni sdílej jednu paměť
2) Virtuální paměť v linuxu je pouze rezervovaný adresový prostor, kde nic nemusí být. Paměť se zabere až při prvním zápisu do vyhrazené paměťi. Ve Windows je to stejné, akorát aplikace explicitně deklaruje dopředu, že hodlá zapsat do rezervované stránky (udělá její commit)
3) Často se paměť sdílí i mezi procesy. Zvlášť naforkované děti, namapované knihovny, které jsou v paměti jen 1x, ale jsou namapované do každého procesu a protože každý proces vidí jen sám sebe, vypadá to, že ta knihovna je tam rozkopírovaná xkrát.
4) Tzv. working set (linux RES) je paměť přidělená aktuálnímu procesu, která může být větší, než její skutečná potřeba. Jsou v tom i různé cache operačního systému, diskové cache, paměť obrazovky atd. Například ve Windows je working set větší,pokud aplikace používá okna, GUI, atd. Při minimalizaci okna se working set zpravidla zmenší. Pokud část paměti leží ve swapu, představuje working set objem paměti fyzicky zabrané RAM včetně mapovaných souborů a knihoven + paměť operačního systému nutnou k jeho řízení + výše zmíněné cache, gui objekty, okna atd (třeba i buffery rour)
5) Asi nejblíže skutečné potřebě aplikace je "potvrzená" / committed memory, což jsou stránky, které leží buď v paměti, nebo ve swapu. Na linuxu jsem to číslo nikde nenašel
Posoudit, která aplikace zabírá kolik místa je dost problematické. Asi nejlepší je se na to dívat globálně. Mám zabráno X, volno Y, cache Z. Cílem je samozřejmě volnou paměť věnovat cache. Takto zabranou paměť je možné kdykoliv uvolnit pro potřeby aplikací
-
Ano mozes si zapnut query log a slow query log. Okrem toho ma mysql kadejake statisticke premenne. http://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html
Napr ti moze chybat index na nejakej tabulke.
-
A kde je presne problem? Bude lepsi kdyz ten HW bude lezet ladem nevyuzity? Melo by pak smysl ho kupovat? Chapes, ze jakykoliv select ktery to vrati primo z cache umistene v RAM bude o nekolik radu rychlejsi nez vyhledavani na disku?
Nebude tech 60% vzato treba z CPU ktere je v tu chvili v IDLE (tj nejakych odhadem 800MHz)?
Percona je dobra volba, jen je potreba pocitat s tim, ze je optimalizovana na vykon a ne na setreni prostredku.
EDIT: pokud nejsi autor programu tak se v tom nevrtej nebo to pokazis. Pokud jsi autor programu tak bys snad mel vedet kde mas nebo nemas jake klice, kde mas nebo nemas jake JOINy, jake pouzivas engine apod...
-
diky za ten slow query log, mrknu na to
resim to proto, ze pred 3 dny aplikace bezela krasne ted se seka, sazim se prijit na to, cim to je, kdyz se nic nezmenilo, alespon doufam
zatim dekuji vsem za rady
-
Aplikace bezi na stejnem stroji jako je DB?
Mas vsechny tabulky InnoDB?
V cem je napsana aplikace?
Seka se opravdu sql nebo jen aplikace jako takova?
V cem je aplikace napsana a na jakem bezi OS?
-
skus pozriet aj dmesg a ine logy ci nemas nejaky sietovy problem
-
...
perconu mam kvuli replikaci,...
A presne v tom bude podle me pes zakopanej ... vypni tu replikaci.
-
pratele dekuji za rady a nasmerovani,
zkoumanim sysklogu jsem zjistil, ze nejaky nullmailer se opravdu hodnekrat za sekundu snazi neco nekam odeslat
tak jsem mu dal ze serveru vypoved od te doby vse slape jako drive
diky moc
-
pratele dekuji za rady a nasmerovani,
zkoumanim sysklogu jsem zjistil, ze nejaky nullmailer se opravdu hodnekrat za sekundu snazi neco nekam odeslat
tak jsem mu dal ze serveru vypoved od te doby vse slape jako drive
diky moc
Ty jo, místo zjistit, proč se tak MTA chová a co je špatně, tak je ze systému vyhozeno. To jsem zvědav co se stane, až zjistíte, že vám díky chybějícímu MTA nefunguje něco jiného. To mi připomíná jednoho týpka, co taky všechno co se mu nezdálo jako potřebné dával pryč. Na co tu je tak pojistka? Stačí kus drátu, nebude to obtěžovat a rozbíjet se... A podobně
-
Ty jo, místo zjistit, proč se tak MTA chová a co je špatně, tak je ze systému vyhozeno. To jsem zvědav co se stane, až zjistíte, že vám díky chybějícímu MTA nefunguje něco jiného.
Kdoví co tam provozuje. To zní jak nějaký hacknutý stroj, kde si botnety a spammeři podávají ruce.
-
chapu ze pro profiky je to reseni asi mene nez polovicate, ale me to vyresilo muj problem, a jelikoz server neni pristupny z internetu a krome mysql ta nic nebezi mam pocit, ze zadneho postaka tam nepotrebuji
jeste jednou dekuji za rady
TH
-
chapu ze pro profiky je to reseni asi mene nez polovicate, ale me to vyresilo muj problem, a jelikoz server neni pristupny z internetu a krome mysql ta nic nebezi mam pocit, ze zadneho postaka tam nepotrebuji
jeste jednou dekuji za rady
TH
Což neznamená, že ho nepotřebují nějaké programy nebo daemoni.