udv,
tudja valaki,hogy lehet-e a mysql-nek CPU ido korlatot adni? Igazabol csak elkerulo megoldasokat talaltam a neten,amik a max. query merettel stb. operaltak.
- 1749 megtekintés
Hozzászólások
processlistbol lovoldozd ki ami szerinted tul sokaig fut
mysqladmin processlist
mysqladmin kill
- A hozzászóláshoz be kell jelentkezni
hat igazad van ez kurvajo CPU korlatozas :)))
enterspajz gentun probaltad?
- A hozzászóláshoz be kell jelentkezni
Hi!
Van valami processzorquota a kernelben, ha jól emlékszem userekhez lehet hozzárendelni. Szerintem ez valamelyest megfelelhet Neked.
- A hozzászóláshoz be kell jelentkezni
FreeBSDn alapbol a limits paranccsal tudsz ilyet csinalni meg a /etc/login.conf-fal. Amugy a mysql.user tablat nezegesd meg abban is lehet mindenfele szepeket allitani ha baromagyu ugyfelrol van szo :)
- A hozzászóláshoz be kell jelentkezni
átmenetileg megteheti a cpulimit progi...
- A hozzászóláshoz be kell jelentkezni
Koszi a hozzaszolasokat! Meg is valaszolnam...
- igen, userek egymassal szembeni vedelmere kell, hogy ne rugjak ki a vasat..
Ebbol kifolyolag nem tokeletes megoldas a kernel szintu korlatozas, mert a mysql-en belul kell(ene) megakadalyozni, hogy egy-egy elszallt lekerdezes orakig tekerje a gepet, de ezen felul barmennyit futhat (gondolok itt pl. esetlegesen csucsidoben az sql terhelesre, ahol a tuske orakig is tarthat, de a terhelesminta a "normalis", vagyis nem egy elszabadult processz eszi meg a gepet, hanem a rendes lekerdezesekbol kell sokat csinalnia)
- mivel 1 adott query a mysql barmelyik threadjen lefuthat, megha lehetseges volna is a threadeknek kulon usert adni, akkr se lehetne megmondani, hogy melyik thread fogja vegrehajtani a query-t
a mysql monitorozasa es a tullogo query-k kilovese elmeletben nem rossz, de nem tudok 7/24-ben a konzol elott ulni :(
nezegetem tovabb a konfigot, hatha.
- A hozzászóláshoz be kell jelentkezni
Erre a mediatemple megoldasa volt a legkulturaltabb. Nekik per-user mysql instancok futnak es van 1 specko balancer alkalmazasuk ami szetszorja user alapjan a connectionoket a megfelelo instanceokhoz. Tok tiszta. Mondjuk picit tobb user picit tobb mysql stb. Nalad nemtom hogy birnad memoriaval.
Viszont! A Mysql-t alapvetoen az kepes nagyon megenni amikor agyatlan fejlesztok kerdezik osszevissza a hulyeseget a kurvasok rekordbol lehetoleg szebbnel-szebb joinokkal se temptablat csinal. Alapesetileg 32 megaig a temptablakat nem irja ki diszkre a mysql (tmp_table_size). Amikor diszkre dolgozik na az a halal. Ezt ugy tudod legegyszerubben megoldani, h felmouontolsz egy 1-2 mega kornyeki mondjuk shmfs-t es ezt a konyvtarat adod meg tempdirnek a mysqlnek :)))) (tmpdir). Innentol az ilyen kverik egyszeruen elszallnak majd valami hibaval.
- A hozzászóláshoz be kell jelentkezni
apesetileg 32 megaig a temptablakat nem irja ki diszkre a mysql (tmp_table_size). Amikor diszkre dolgozik na az a halal. Ezt ugy tudod legegyszerubben megoldani, h felmouontolsz egy 1-2 mega kornyeki mondjuk shmfs-t es ezt a konyvtarat adod meg tempdirnek a mysqlnek :))))
Na ehhez csak gratulalni tudok. Ez pont az, mintha a windows swapfile-jat raknad ramdisk-re.
Esetleg ha megnezned a tmp_table_size opciokat es tarsait, akkor azt a default 32 megas limitet feljebb lehetne rakni...
- A hozzászóláshoz be kell jelentkezni
Koszonom a gratulaciodat :) Tudod en a hulye fejleszto ellen hasznalom ezt ugyanis amikor temptablakkal tobb gigabyte ramot felzabalnak akkor tanuljanak meg inkabb SQL-t kodolni...
Tovabba szeretnelek megkerni, hogy ne write-only uzemmodban mukodj. Fentebb leirtam az altalad emlitett es szamomra megtekintesre javasolt tmp_table_size valtozot...
- A hozzászóláshoz be kell jelentkezni
Nem hiszem, hogy a MySQL ennyire fejlett lenne, az OS-ből pedig nyilván nem tudod ezt megfelelően szabályozni, hiszen nincs mi alapján megkülönböztetni a usereket.
Ha komoly igényeid vannak, még mindig használhatsz komoly RDBMS-t, például Oracle-t, ami tud ilyet (resource managernek hívják).
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Valami megoldás biztos, hogy van erre. Én csak kísérleti jelleggel futtatok otthon a gépemen (egyelőre XP alatt) egy mysql szervert, de futtattam már rajta olyan lekérdezéseket, amelyek több millió sort dolgoztak fel. Futtatás közben a process listán a mysqld folyamatosan 48-49%-on pörgette a CPU-t, még véletlenül sem használt ki a proci teljesítmény felénél többet. Ha meg akarod tudni, hogy hogyan kell a szervert így konfigurálni, talán érdemes azon elindulni, hogy a szerver telepítésekor milyen változókat mire állít be. Telepítéskor feljánl ugyanis 2-3 opciót, hogy milyen környezetben szeretnéd használni a szervert (a gép dedikált mysql szerver, vagy fejlesztői gép, ilyesmiket). Szerintem az enyém azért használja csak a proci felét, mert én valami "desktop computer" configot választottam.
- A hozzászóláshoz be kell jelentkezni
aha, veletlenul nem ketprocis (vagy HT) geped van?
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Szia!
Igen HT-s procim van. Ettől függetlenül egyszer már rászorultam, hogy piszkálni kellett a beállításokat, és elértem, hogy teljesen kihajtsa a procit.
Üdv.:
G
- A hozzászóláshoz be kell jelentkezni
A MySQL több szálú. Egy query egy szál, ha több query van, 100%-ot fogsz látni.
Ettől függetlenül a HT nem egyenlő a dual core-ral, így amit 50%-nak látsz, az valójában közel 100.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
@marczi
Koszi! Igazabol idokozben en is arra jutottam, hogy egy ilyesmit kell irnom es megvan a "resource manager" :)
@bra
Igazad van. Most eloszor gondolkodtam el, hogy megiscsak van hova fejlodnie a mysql-nek... Igazabol sztem ez a resource manager nem egy lehetetlen vallakozas, mert pl. azt konyveli hogy melyik query mennyit evett es van long_query log is. Igazabol egy ilyen kulso monitorozo daemon nulla v. trivialis butykolest kovetelne meg a mysql-be, csak meg kellene csinalniuk a sracoknak. Addig marad az mtop...
- A hozzászóláshoz be kell jelentkezni
Azért nem mindegy, hogy ütemezed a diszk IO-t és a CPU-t,vagy kilődözöd az overquota queryket...
- A hozzászóláshoz be kell jelentkezni