Kom ihåg mig?
Home Menu

Menu


Mysql på egen server eller apache-trimmning

 
 
Ämnesverktyg Visningsalternativ
Oläst 2010-10-06, 17:27 #1
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Kör en SHOW PROCESSLIST; på mysql när det segar. Har du många anslutningar? Ligger många med state locked? Går de upp till max_connections? Thread cache hitrate?

Titta på cpu-stat under top. Har du mycket iowait på CPU-användandet?

Är det myisam-tabeller? Ok hit-rate på key buffern? Stiger slow_queries snabbt under högsta belastningen (show status like 'slow_queries')? Är det samma queries? Hur ser explain ut på dom?

Är query cache på? Hit rate? Är den för låg bör man antingen stänga av det eller åtgärda ration.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-08, 10:25 #2
Azone Azone är inte uppkopplad
Medlem
 
Reg.datum: Sep 2010
Inlägg: 51
Azone Azone är inte uppkopplad
Medlem
 
Reg.datum: Sep 2010
Inlägg: 51
Citat:
Ursprungligen postat av Clarence Visa inlägg
Kör en SHOW PROCESSLIST; på mysql när det segar. Har du många anslutningar? Ligger många med state locked? Går de upp till max_connections? Thread cache hitrate?

Titta på cpu-stat under top. Har du mycket iowait på CPU-användandet?

Är det myisam-tabeller? Ok hit-rate på key buffern? Stiger slow_queries snabbt under högsta belastningen (show status like 'slow_queries')? Är det samma queries? Hur ser explain ut på dom?

Är query cache på? Hit rate? Är den för låg bör man antingen stänga av det eller åtgärda ration.
Tack! Väldigt bra frågor och svar. Skall titta på dessa parametrar vid nästa belastningstopp. Men följande vet jag redan nu.
  • Det är Myisam tabeller (endast)
  • Slow Queries stiger vid hög belastning eller om de bara bli vanligare pga fler queries ??
  • Query cache är på (=1) och undrar om den motarbetar en del annan caching kring php (eaccelerator mm), läste något om det men vet ej. Det är kanske det du menar med att stänga av den om "hit rate" är för låg.
  • Får många "locked" i mtop ibland vid hög belastning (= fler än 35-40 inloggade på sidan).
  • Max-connections räcker nu sen jag fick lite koll på global vs thread buffer (minne). Se nedan. Har top 50 connections av 100 möjliga nu, men förväntar tillväxt.
  • Jag kör både "MySqltuner.pl" och "Tuninng mysql ...?" Den förstnämnda ger flest ledtrådar till mig iaf. Men den säger konstant att Query cash size och limit bör ökas (men förstår inte varför och rädd att spräcka minesgränser samt att den aldrig verkar få nog).
  • Har kört Optimize på samtliga tabeller.
  • Kör Drupal 6 och den sägs ju vara ganska databasintensiv och förbättringar förväntas i Drupal 7, men det är ingen monstersida eller monstertrafik, så det borde gå att lösa med befintlig kapacitet tycker jag.
-----------------------------------------------------------------------------

Jag har hittat några allvarliga fel i mysqlkonfugurationen. T ex har/hade jag dålig koll på.

Mysql allokerat minne = globalbuffers + (max_connections + threaded buffers).

global_buffers:
key_buffer
net_buffer
(vilka fler?)

Jämfört med:

thread_buffers:
sort_buffer
myisam_sort_buffer
read_buffer
join_buffer
read_rnd_buffer

Detta gav minnesproblem (allokerade mer än jag fysikt hade).
Nu går det stabilare ur den aspekten men det segar fortfarande ner sig vid många inloggade. Känns bättre med stabilt och segt än att det slår i taket och "totalkraschar".

Har många "locked" i mtop vid vissa situationer. Skall kolla Process list vid nästa belastningstop vid lunch eller kväll, när toppar brukar ske.


--------------------------------------------------------------------

Jag har bestämt mig för att installera om "ALLT" (LAMP eller alternativ). Inte bara beroende på mysql-problem utan för att få en mer korrekt struktur på hela paketet.

Funderar då på att gå över Nginx, eller Apache2 MPM-worker med Fastcgi samt sätta upp en kontrollpanel för att enklare hantera flera domännamn i framtiden.

Funderar på bl a"The perfect server"
http://www.howtoforge.org/perfect-se...nny-ispconfig3
Eller Liknande med Nginx.


mvh
Azone
Azone är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-08, 12:57 #3
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av Azone Visa inlägg
Query cache är på (=1) och undrar om den motarbetar en del annan caching kring php (eaccelerator mm), läste något om det men vet ej. Det är kanske det du menar med att stänga av den om "hit rate" är för låg.
Nej, de motarbetar inte varandra. Eaccelerator är cachar opcodes för exekveringen av PHP, Qcache arbetar helt på databasnivå. Detta förutsatt att eaccelerator inte används med någon manuell variabel-cache (vet inte ens om det stöds av eaccelerator, men möjligt då det finns i t ex APC).

Citat:
Ursprungligen postat av Azone Visa inlägg
  • Det är Myisam tabeller (endast)
  • Slow Queries stiger vid hög belastning eller om de bara bli vanligare pga fler queries ??
  • Får många "locked" i mtop ibland vid hög belastning (= fler än 35-40 inloggade på sidan).
  • Kör Drupal 6 och den sägs ju vara ganska databasintensiv och förbättringar förväntas i Drupal 7, men det är ingen monstersida eller monstertrafik, så det borde gå att lösa med befintlig kapacitet tycker jag.
Ovanstående punkter tillsammans får mig att misstänka att problemet är tabell-låsningar vid skrivning. Myisam låser hela tabellen vid skrivning till en rad medan t ex InnoDB endast låser aktuell(a) rad(er). Att försöka kombinera InnoDB med MyISAM på en server kan dock ha sina problem, framförallt för att minnesanvändningen inte kan kombineras bra med de två då InnoDB slukar mest buffer pool. Alternativet är att gå igenom och åtgärda de frågor som låser upp tabellerna. Förmodligen, utan speciell stor insikt i varken drupal eller din sajt, är det något i stil med en view-counter för trådar/sidor/? som skriver direkt till rätt tabell och blockerar övriga queries. Dessa skrivs isåfall enkelt om till att läggas in i batches och skrivas till en separat tabell dessförinnan. Bättre diskprestanda skulle förvisso också avhjälpa om problemet är detta, men det skulle snarare skjuta upp än lösa det.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-08, 20:16 #4
Azone Azone är inte uppkopplad
Medlem
 
Reg.datum: Sep 2010
Inlägg: 51
Azone Azone är inte uppkopplad
Medlem
 
Reg.datum: Sep 2010
Inlägg: 51
Citat:
Ursprungligen postat av Clarence Visa inlägg
Nej, de motarbetar inte varandra. Eaccelerator är cachar opcodes för exekveringen av PHP, Qcache arbetar helt på databasnivå. Detta förutsatt att eaccelerator inte används med någon manuell variabel-cache (vet inte ens om det stöds av eaccelerator, men möjligt då det finns i t ex APC).


Ovanstående punkter tillsammans får mig att misstänka att problemet är tabell-låsningar vid skrivning. Myisam låser hela tabellen vid skrivning till en rad medan t ex InnoDB endast låser aktuell(a) rad(er). Att försöka kombinera InnoDB med MyISAM på en server kan dock ha sina problem, framförallt för att minnesanvändningen inte kan kombineras bra med de två då InnoDB slukar mest buffer pool. Alternativet är att gå igenom och åtgärda de frågor som låser upp tabellerna. Förmodligen, utan speciell stor insikt i varken drupal eller din sajt, är det något i stil med en view-counter för trådar/sidor/? som skriver direkt till rätt tabell och blockerar övriga queries. Dessa skrivs isåfall enkelt om till att läggas in i batches och skrivas till en separat tabell dessförinnan. Bättre diskprestanda skulle förvisso också avhjälpa om problemet är detta, men det skulle snarare skjuta upp än lösa det.
Ja, jag har svårt att påverka queries i drupal (åtminstone med min kunskap), visserligen skulle ja kunna ta bort någon funktion på sidan, men jag tycker ändå som andra varit inne på att 40 användare borde vara rätt få i sammanhanget och dessa eventuella låsningar pga MyISAM borde väl handla om millisekunder istället för halvminuters låsningar. Till dessa 40 får man iofs lägga till de anonyma som brukar var i häraden 20 men de har ingen aktiv del i forumet. Däremot uppdateras väl iofs view-counters och en del annat. Men 60 användare totalt borde väl systemet klara även om det inte är superoptimerat. I mysqltuner är läsningar ca 98% och skrivningar 2% om det nu säger något mera i sammanhanget?

Skall avaktivera view-countern och se om det gör någon skillnad iofs.

Tack för svar.
Azone är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-06, 20:03 #5
b_anderssons avatar
b_andersson b_andersson är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 067
b_andersson b_andersson är inte uppkopplad
Har WN som tidsfördriv
b_anderssons avatar
 
Reg.datum: Apr 2004
Inlägg: 1 067
http://www.mysqltuner.com/ kan vara värt att kolla för att hitta enklare problem med mysql.
b_andersson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-08, 11:24 #6
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Ja, nått måste vara fel om det börjar sega redan vid 40 inloggade samtidigt (såvida inte alla skulle sitta och uploada stora bilder samtidigt). Din diskprestanda verkar som sagt vara extremt låg.

På denna dedikerade server:
Citat:
CentOS 64bit
2 st CPU (3ghz gamla P4), 4 GB RAM
Apache2, php5 (med eaccelerator) och Mysql server
10k spin SCSI diskar
kör vi:
-Webshop
-VB-forum (45k medlemmar)
-Wordpress som CMS

Den klarar runt 1000 inloggade samtidigt innan det börjar bli lite segt.

Senast redigerad av SimonP den 2010-10-08 klockan 11:28
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-08, 11:56 #7
Azone Azone är inte uppkopplad
Medlem
 
Reg.datum: Sep 2010
Inlägg: 51
Azone Azone är inte uppkopplad
Medlem
 
Reg.datum: Sep 2010
Inlägg: 51
Citat:
Ursprungligen postat av SimonP Visa inlägg
Ja, nått måste vara fel om det börjar sega redan vid 40 inloggade samtidigt (såvida inte alla skulle sitta och uploada stora bilder samtidigt). Din diskprestanda verkar som sagt vara extremt låg.

På denna dedikerade server:


kör vi:
-Webshop
-VB-forum (45k medlemmar)
-Wordpress som CMS

Den klarar runt 1000 inloggade samtidigt innan det börjar bli lite segt.
Ja, kan inte annat än hålla med verkar som om diskprestanda kanske är den stora boven här. Visst kanske några samtidigt sitter och laddar upp bilder, men det sker nog mer sällan än det idag segar ihop sig. Tack för bra referens-siffror.
Azone är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-08, 21:07 #8
Dennis Holm Dennis Holm är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Mar 2003
Inlägg: 1 557
Dennis Holm Dennis Holm är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Mar 2003
Inlägg: 1 557
15mb/sec är inte "extremt dålig diskprestanda".
det är dock inte super.. men ganska basic prestanda på en mindre/äldre sata disk .
Speciellt på VPS som ofta har lite omvägar för arbetet och möjligen lite belastning hos andra vpser på värdmaskinen.

Om 15mb/sec är ett problem så kräver det en ganska krävande/stor site.
Har haft väldigt stora forum på hårdvara som snurrar på runt 19mb/sec.
Och det handlar om både stora och många db queries.

Så glöm flaskhalsen om diskprestanda just nu.
Det är något annat som agerar flaskhals .

p.s 1gigabyte/sec prestanda är från minne till minne.. inte ren disk i/o .
Dennis Holm är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-17, 02:49 #9
Normans avatar
Norman Norman är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2004
Inlägg: 589
Norman Norman är inte uppkopplad
Mycket flitig postare
Normans avatar
 
Reg.datum: Feb 2004
Inlägg: 589
Ah. Såg inte att han använde MyISAM (får skylla på kvällsarbete), då får han väl byta till InnoDB så snart han har möjlighet.
MyISAM och InnoDB har båda fördelar och nackdelar , MyISAM är snabbare om det inte sker massa updates / writes. Men troligtvis får han ut mer prestanda av InnoDB än MyISAM.
Norman är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 18:32.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017