Portál AbcLinuxu, 12. května 2025 17:09

Dotaz: Jak zmenšit paměťové nároky MySQL 5.1.

30.9.2010 15:45 J@rys | skóre: 11 | blog: Jarduv_blog
Jak zmenšit paměťové nároky MySQL 5.1.
Přečteno: 651×
Odpovědět | Admin
Zdravim vas. Potreboval bych poradit, jakym zpusobem zmenšit paměťové nároky MySQL verze 5.1 z repozitaru Debain Squeeze. Jedinym pozadavkem, ktery mam, je zachovat cinnost vsech subsystemu mysql. Vykonnost ponechme stranou. Nyni mam nainstalovano mysql 5.1 a v nem navic tabulky po cerstve instalaci phpmyadmin. Dalsi obsah neni. Celkove alokovane mnozstvi pameti je nyni kolem 152MB. Rad bych usetril alespon 100MB. Nastavil jsem jako defaultni MyISAM. InnoDB jsem zatim ponechal zapnute. Poradte, jake buffery a do jake miry je radno zmenit.

Dekuji.

Řešení dotazu:


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

Odpovědi

Řešení 1× (J@rys (tazatel))
30.9.2010 18:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste změnit hodnoty takto:
[mysqld]
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
query_cache_limit = 1M
query_cache_size = 8M

innodb_buffer_pool_size = 8M
innodb_additional_mem_pool_size = 1M
innodb_log_file_size = 5M

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
Vychází to z OpenSuse 'my-small.cnf' a zkušeností z vlastním serverem, který měl 96Mb Ram :), bohužel již jej nemám, a nemám ten přesný konfigurák z něj…
Pokud chcete aby i InnoDB trošku lépe chodilo změňte:
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
Jak to dopadlo ?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
poky74 avatar 30.9.2010 19:05 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.

Páni, 12MB ram jo?

Jasně, rejpu, ale nechceme přeci aby se tu šířili dezinformace.

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
1.10.2010 08:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Co to? Kde to? Nerozumím :(.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Heron avatar 1.10.2010 08:51 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
To nic, to byla jen trapná narážka na 96Mb (96 megabitů = 12 megabajtů).
1.10.2010 09:00 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Áááá sorry, moje chyba.
Oprava: který měl 96MiB
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
poky74 avatar 1.10.2010 09:01 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
sic mozna trapna, ovsem na miste, pokud vam zamena jednotky nevadi, coz takhle to rovnou udavat v metrech? Alespon v diskusi a pameti by jednotky neli byt spravne
Chcete Linuxové samolepky nebo Tuxe na klíče? ->
poky74 avatar 1.10.2010 09:03 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
meli
Chcete Linuxové samolepky nebo Tuxe na klíče? ->
Heron avatar 1.10.2010 09:10 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
S tím obecně souhlasím ovšem lidská řeč není obecně jednoznačná a význam (myšlenka) je spíše věcí kontextu než přesné formulace. A v tomto případě je skutečně jasné, jak to pisatel myslel zvláště když přikládá jednoznačný konfigurák.

Uznávám, v diskusi o síťovém přenosu by záměna jednotek Mb a MB byla zmatečná.
poky74 avatar 1.10.2010 09:35 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.

Samozřejmě jsem pochopil co autor chtěl říci, jde o to že tuhle diskusi si přečte mnoho lidí, bez mého trapného příspěvku z kterého pramení toto vlákno by si spousta lidí spojila velikost operační paměti s "Mb" a mě už docela nebaví pořát dokola lidem vysvětlovat rozdíl mezi Mb a MB.

Naopak, díky našemu vláknu si každý spojí operační paměť s "MB" a síťový provoz s "Mb", tedy nejenže pár dalších lidí bude vědět něco o jednotkách, ale snad to budou i šířit dál, tedy, naše trapné vlákno obecné it gramotnosti pomůže mnohem více než by kdo čekal.

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
Heron avatar 1.10.2010 10:08 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Naopak, díky našemu vláknu si každý spojí operační paměť s "MB" a síťový provoz s "Mb", tedy nejenže pár dalších lidí bude vědět něco o jednotkách, ale snad to budou i šířit dál, tedy, naše trapné vlákno obecné it gramotnosti pomůže mnohem více než by kdo čekal.

I tak se to dá brát, souhlas :-)

1.10.2010 10:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Když už jsem to způsobil svou chybou, tak bych se přidal.
Nebylo by špatné, začít i rozlišovat MB a MiB ať vím kolik to je :)
Jinak obecně je lepší zapisovat bity (dle doporučení ISO/IEC 80000) jako 'bit':
1 kbit/s  = 1000 bit/s
1 Kibit/s = 1024 bit/s
 x
1 kB = 1000 B
1 KB = 1024 B
A je to právě kvůli záměně B/b :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
poky74 avatar 1.10.2010 10:25 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.

KiB, MiB.. byly sic vytvořeny aby v tom udělali pořádek, ale ve výsledku v tom udělali ještě větší bordel, používat to je myslím úplná blbost (osobní názor).

Navíc, jak na to tak koukám, tak oni tim že chtěli vytvořit nový standart tak jiný porušili, to je k smíchu.

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
Heron avatar 1.10.2010 10:42 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Který standard porušili? Předpony k, M, G jsou dekadické, tedy 10^3, 6, 9.

Používat je jinak (například pro binární 2^10, 20, 30) je porušení tohoto pravidla. Opět, tady v diskusi je úplně jedno, jestli 96MB myslím správně 96 000 000B nebo nesprávně 100 663 296B. Jenže při diskových operacích (zejména zmenšování FS a LV) už to taková sranda není a pokud by každý program používal jiné jednotky, tak spolehlivě skončíš se ztrátou dat.
poky74 avatar 1.10.2010 12:17 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
plati to, co jsme resili nize, ikdyz tady na tom tam moc nezavisi, proc to nedelat spravne? Nekdo se z toho urcite pouci
Chcete Linuxové samolepky nebo Tuxe na klíče? ->
1.10.2010 16:42 bohyn
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
k, M, G kde toto platí jsou předpony SI, byte ani bit ale nejsou SI standardem takže pro ně to platit nemusí a dokud s tím nepřišel marketing výrobců disků tak to ani neplatilo. ki, Mi, Gi... akorát přinesly další bordel. Krom výrobců disků nikdo nepoužívá dekadickou variantu takže v tom žádný problém nevidím.
1.10.2010 11:14 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Oprava:
1 kbit/s  = 1000 bit/s
1 Kibit/s = 1024 bit/s
 x
1 kB  = 1000 B
1 KiB = 1024 B
Už jsem radši dnes s jednotkami skončil, ještě použiji jednu odpoledne: „koupím si 2 burčáku“ a konec, bo mi to nějak nejde.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
1.10.2010 07:30 jarysnet
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Super, vyřešeno. Naroky na ram jsou nyni 64 MB. Zbytek naženu jinde. Jeste zminim, ze konfigurak my-small.snf se v opensuse nachazi v /usr/share/mysql. Naproti tomu v debianu squeeze jsem ho nenasel.
poky74 avatar 1.10.2010 07:34 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.

Debian /etc/mysql/my.cnf

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
1.10.2010 08:50 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
To je platná konfigurace MySQL serveru.
V '/usr/share/mysql' na OpenSuse jsou 3 ks předpřipravených konfiguráků small, medium a huge, kde je to „nějak“ v základu nastaveno, když to nechcete řešit nebo nemáte zkušenosti, je to dobrý výchozí bod (nastavení InnoDB, jestli se nepletu, tam je zakomentováno a ve všech souborech je identické).
V Debianu Vás-Nás nikdo nevodí za ručičku, takže tam takovéto předpřipravené konfigurace nejsou (aspoň v Lenny). :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Heron avatar 1.10.2010 08:56 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
je to dobrý výchozí bod (nastavení InnoDB, jestli se nepletu, tam je zakomentováno a ve všech souborech je identické).

Tak tak, ještě by tam měl být konf. my-innodb-heavy-4G.cnf s nastaveným InnoDB.

poky74 avatar 1.10.2010 08:57 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Jiste, zakladni nastaveni je ovsem pro 32MB, coz je myslim dostatecne usporne. Nastavit to pro silnejsi server jiz neni se znaloptmi matematiky zakladni skoly problem.
Chcete Linuxové samolepky nebo Tuxe na klíče? ->
Heron avatar 1.10.2010 09:05 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.
Nastavit to pro silnejsi server jiz neni se znaloptmi matematiky zakladni skoly problem.

Nastavit to pro silnější server není otázkou matematiky, je to otázkou znalosti té DB a jejího použití. Vůbec to není o vynásobení všech parametrů nějakou konstantou ale o poměrně složitém vyvážení všech parametrů. U MySQL je to zvlášť těžké v případě, že se používá více tabulkových enginů.

poky74 avatar 1.10.2010 09:38 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.

Jistě, ale někdo kdo hledá přednastavené konfigurační soubory určitě ony znalosti databázového serveru (či jednotlivých enginů) prostě nemá, nebo s nastavováním nechce ztrácet čas (což opět hovoří o jeho neznalosti).

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
Heron avatar 1.10.2010 10:14 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.

No to je složité. Pokud to někdo nastaví čistě matematicky, tak snadno skončí s DB, která nejenže nemá žádný výkon, ale ještě k tomu žere příliš mnoho paměti.

Pro pomoc s nastavením výkonových parametrů MySQL vřele doporučuji mysqltuner.pl nebo podobný MySQL Tuning Primer.

Pochopitelně nic z toho nezachrání blbě navržené DB schema.

poky74 avatar 1.10.2010 10:28 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: Jak zmenšit paměťové nároky MySQL 5.1.

Souhlasím že nastavovat to přímo úměrně vůči operační paměti není úplně ideální, ale bez potřebných znalostí k správnému nastavení jak enginů tak samotného serveru je to krom dotazu v diskusi nejlepší řešení.

Chcete Linuxové samolepky nebo Tuxe na klíče? ->

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.