Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Jak na optimalizaci MySQL?  (Přečteno 3953 krát)

Thomas123

  • Aktivní člen
  • *
  • Příspěvků: 383
Jak na optimalizaci MySQL?
« kdy: 16 Července 2009, 14:48:23 »
Ahoj všichni, když si vlezu přes phpMyAdmin do Stavu MySQL, tak tam na mě svítí červeně tyto hodnoty:

Innodb_buffer_pool_reads    12
Handler_read_rnd               27 k
Handler_read_rnd_next      511 k
Created_tmp_disk_tables   426
Opened_tables                 257


Vzhledem k tomu, že to svítí červeně, tak to asi nebude velmi dobré. A mám tedy otázku, jak moc je to špatné a jak to vylepšit? Předpokládám, že vše se bude nastavovat v my.conf, že?
Ten Linux není špatná věc, jen se s tím naučit. Windowsák není zvyklý.

jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: Jak na optimalizaci MySQL?
« Odpověď #1 kdy: 16 Července 2009, 15:04:24 »
Zdravím Vás,

Opened_tables                 257[/color]

přečtěte si tohle :
http://forums.mysql.com/read.php?35,24041,25458#msg-25458
nebo
http://www.linuxsoft.cz/article.php?id_article=1193
a zkuste aplikovat na Váš mySql db server.
« Poslední změna: 16 Července 2009, 15:22:05 od jfoot »
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

Thomas123

  • Aktivní člen
  • *
  • Příspěvků: 383
Re: Jak na optimalizaci MySQL?
« Odpověď #2 kdy: 16 Července 2009, 16:26:41 »
Upřímně z toho nejsem o moc chytřejší. Takže jsem pochopil, že hodnota opened_tables stále narůstá, k určení správného nastavení je potřeba znát table_cache, uptime db serveru, hodnotu opened_tables. Ovšem nejsem z toho nějak moc chytrý, protože třeba v tom článku na linuxsoft jsem se dozvěděl pouze to, že příkladový server je poddimenzovaný, ovšem jsem nenašel, jak to nastavit správně.

//edit: Jen dodávám, že db jede cca týden
« Poslední změna: 16 Července 2009, 16:49:30 od Thomas123 »
Ten Linux není špatná věc, jen se s tím naučit. Windowsák není zvyklý.

jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: Jak na optimalizaci MySQL?
« Odpověď #3 kdy: 16 Července 2009, 18:00:45 »
Zdravím Vás,

radu, typu "když to váží 5 kg, tak udělej to takhle ... a když to váží 4 kg udělej jinak...."
asi pravděpodobně nedostanete (ode mě bohužel ne  :P).
Jde o to, že každý db server je svým způsobem jedinečný (v konfiguraci, zátěži, atp.).
Navíc Vaše otázka pochází z domény, která slušně živí mnoho lidí, viz předposlední příspěvek na tomto threadu.
http://www.zen-cart.com/forum/showthread.php?t=125701

Ale nevěšejte hlavu.
Zde jsou přímo odpovědi na Vaši otázku týkající se ladění výkonu db serveru :
http://www.devshed.com/c/a/MySQL/MySQL-Optimization-part-2/4/

Myslím, že pokud začnete kapitolou
# 6.4.6.1 Shared Key Cache Access
a budete pokračovat kapitolou
# 6.5.2 Tuning Server Parameters

a dalšími, svého cíle dojdete...

A jak říká kolega ~PS  "Co nad to jest, od zlého jest... "    ;D

Dejte vědět, případně, jak se Vám daří...
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

Thomas123

  • Aktivní člen
  • *
  • Příspěvků: 383
Re: Jak na optimalizaci MySQL?
« Odpověď #4 kdy: 16 Července 2009, 20:52:52 »
Řeknu to asi takto: Do teď jsem si nemyslel, že to je doménou profi extra odborníků. Po pravdě jsem si myslel, že v nějaké dokumentaci bude sepsaný nějaký "návod" či něco podobného pro optimalizaci. Nemyslel jsem kompletní návod, ale takový jednoduchý cosi, že když máte počet tohoto, vydělíte, vynásobíte, doplníte a nakonec se rovná, vyjde něco smysluplného, co doplníte tam a tam. Chápete, co mám na mysli?

Mrknu na to, ale chytrý z toho na první pohled nejsem.
Ten Linux není špatná věc, jen se s tím naučit. Windowsák není zvyklý.

jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: Jak na optimalizaci MySQL?
« Odpověď #5 kdy: 16 Července 2009, 23:41:30 »
Zdravím Vás,

Chápete, co mám na mysli?

Snažím se  chápat ze všech sil ;D;D , ale tak nějak jsem si říkal, jestli se neprojevíte jako iniciativní osoba.... ;D

OK, když jinak nedáte...

Stáhněte si tento script : http://www.day32.com/MySQL/tuning-primer.sh
Otevřete a studujte, je tam kompletní návod  typu

..ale takový jednoduchý cosi, že když máte počet tohoto, vydělíte, vynásobíte, doplníte a nakonec se rovná, vyjde něco smysluplného, co doplníte tam a tam.

Třeaba vytunění keše (mající souvislost s položkou Opened_tables) se skrývá ve scriptu ve funkci check_table_cache (),
By the way, ten člověk co to psal, věděl své...

Jinak odkaz na ten script je na :

http://ebergen.net/wordpress/2006/03/06/3-minute-mysql-tuning/

Je tam docela zajímavá diskuse na téma tunění mySql.
Podívejte se tam i na tyto odkazy :

http://www.ibm.com/developerworks/library/l-tune-lamp-3.html 
http://ebergen.net/wordpress/2006/03/06/3-minute-mysql-tuning/

Co se týče scriptu tuning-primer.sh, doufám, že jste stoupencem strany Bash, pokud ne, tak  použijte ntz's alias Bat Batz Maru's okřídlené 'man bash'...   ;D

Tak doufám, že sem později hodíte, jak se Vám dařilo , tyto informace se budou hodit určitě i dalším mySql-istům, myslím, že jsou jich stáda.... ;D

« Poslední změna: 17 Července 2009, 09:32:04 od jfoot »
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

Thomas123

  • Aktivní člen
  • *
  • Příspěvků: 383
Re: Jak na optimalizaci MySQL?
« Odpověď #6 kdy: 17 Července 2009, 12:27:43 »
Snažím se  chápat ze všech sil ;D;D , ale tak nějak jsem si říkal, jestli se neprojevíte jako iniciativní osoba.... ;D
Iniciativní jsem, ale když mi Google nějak nevrátil nic, co jsem hledal  :(, ale asi to bude mezi klávesnicí a židlí  ;)

doufám, že jste stoupencem strany Bash, pokud ne, tak  použijte ntz's alias Bat Batz Maru's okřídlené 'man bash'...   ;D
Vzhledem k tomu, že netuším, co je Bat cosi, tak budu asi stoupencem Bashe :D

Dnes se k tomu už asi nedostanu, ale určitě na to mrknu. Docela se mi zamlouval i ten návod od IBM.
Ten Linux není špatná věc, jen se s tím naučit. Windowsák není zvyklý.

jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: Jak na optimalizaci MySQL?
« Odpověď #7 kdy: 17 Července 2009, 13:09:27 »
Zdravím Vás,

Iniciativní jsem, ale když mi Google nějak nevrátil nic, co jsem hledal  :(, ale asi to bude mezi klávesnicí a židlí  ;)

Vzhledem k tomu, že netuším, co je Bat cosi, tak budu asi stoupencem Bashe :D

Dnes se k tomu už asi nedostanu, ale určitě na to mrknu. Docela se mi zamlouval i ten návod od IBM.

Tak tohle je úplně jiná... :D.  Držím palce v dalším bádání ....

P.S.  Kdybyste náhodou měl výše uvedených odkazů málo  ;D, tak zadejte
       do Googlouse treba tento retezec : mySql tuning
« Poslední změna: 17 Července 2009, 21:13:34 od jfoot »
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Re: Jak na optimalizaci MySQL?
« Odpověď #8 kdy: 17 Července 2009, 13:23:59 »
Odkazy vyse uvedene jsou vice nez uzitecne a muzou ti hodne pomoct. Akorat zacinas ze spatnyho konce. Nechci byt osklivej ale v  prvni rade zacni  u sveho kodu. Ohledne open_tables problem je v nastaveni v table_cache. Vysoke cislo v open_tables vyjadruje cislo chybejicich cache-u. S nastavovanim hodnoty u table_cache velice opatrne, aby si ji nenastavil na moc vysokou. Pokud se Mysql bude pokouset otevrit hodne souboru, operacni system to muze odmitat a Mysql ti bude generovat errory do logu. Hodnoty Handler_read_rnd_next a handler_read_rnd maji zase do cineni s indexaci,anebo tvoje requesty nepouzivaji spravne klice.Takze v prvnim rade si musis skontrolovat strukturu databaze, spravne ji indexovat v sousislosti s kodem ( requesty ktery pouzivas) , pouzij EXPLAIN ten ti ukaze strasne moc, a az pokud mas cisty kod spravne napsany k databaze, pak zacni uvazovat nad nastavovanim hodnot. Pokud budes nastavovat hodnoty od zdi ke zdi, muzou se ti stat daleko zavaznejsi veci. Aby ti kdokoliv mohl hned zfleku pomoct musel by mit pred ocima tvuj kod, strukturu databaze, indexaci a pod. To nechces ani ty sam a osobne si nemyslim ze na to ma nekdo cas jen tak . Takze jedina rada ktora ti muze pomoct, je opravdu  dokonale si precist mysql manual, pouzivat forum z mysql a podrobne prelizt si svuj kod, a az pak pristup k nastavovani jednotlivych hodnot. Promin pokud sem ti mou odpovedi nepomohl, ale spusob : nastavim hodnoty a mam pokoj, tak to opravdu nefunguje.

Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

Thomas123

  • Aktivní člen
  • *
  • Příspěvků: 383
Re: Jak na optimalizaci MySQL?
« Odpověď #9 kdy: 17 Července 2009, 20:06:28 »
to petrakis: OK, beru na vědomí. Pokud chceš vědět, co mi tam běží za kód, tak tam mám nainstalovaný jen CMS SunLight http://sunlight-cms.net/ a PIWIK
Ten Linux není špatná věc, jen se s tím naučit. Windowsák není zvyklý.

 

Provoz zaštiťuje spolek OpenAlt.