Kom ihåg mig?
Home Menu

Menu


mysql problem

 
Ämnesverktyg Visningsalternativ
Oläst 2004-12-13, 21:13 #1
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Har sagt det förut, men säger det igen.

Jag har problem med min SQL server. Den tar ofta upp 99.9% CPU power, hela servern blir slö.

Det är en p4 2.8 ghz, 1 gb ram, som i princip bara kör Apache och mysql.

Är i desperat behov av hjälp att hitta flaskhalsen i mitt system. Här är "Körningsinformation" från sql servern, skall det se ut såhär?

fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-13, 22:09 #2
anders.n anders.n är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 113
anders.n anders.n är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 113
18 frågor i sekunden är väl relativt mycket, beroende på hur tunga frågorna är.. Dock, i genomsnitt 5K per fråga låter mycket.. men, jag har ingen koll alls på sådan statistik..

Du borde kolla upp möjligheten att använda cache på serversidan (otroligt trevligt), och kontrollera vilka dina "tyngsta" frågor är, och se om du kan optimera dem.. (inte returnera onödiga kolumner, använda TOP om du bara är intresserade av vissa resultat, index, kolla runt med analyze/check/explain, etc, etc, etc)
anders.n är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-13, 22:34 #3
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Vad innebär "Avbrutna" uppkopplingar?

Skall verkligen så stor del av alla uppkopplingar vara avbrutna?
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-13, 23:46 #4
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Citat:
Originally posted by anders.n@Dec 13 2004, 23:09
använda TOP om du bara är intresserade av vissa resultat, index, kolla runt med analyze/check/explain, etc, etc, etc)
btw, TOP minskar storleken på recordsetet men ökar på tiden det tar att köra queryn (dock minimalt). Beror lite på vart du vill optimera iofs.

Kanske ska se över dina joins, ev bryta ut vissa data i nya tabeller, speciellt om de söks i via LIKE '% då ett index inte är till någon nytta.
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-14, 00:52 #5
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
uhh.. index gör väl nytta med like??
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-14, 08:15 #6
SkyNet SkyNet är inte uppkopplad
Validating
 
Reg.datum: Apr 2004
Inlägg: 99
SkyNet SkyNet är inte uppkopplad
Validating
 
Reg.datum: Apr 2004
Inlägg: 99
Körningsinformationen som du skickade med ger inte så mycket information, men 18 queries/sekund är inte alls mycket.

Skulle jag optimera skulle jag börja med att;

a) Ladda hem mytop från http://jeremy.zawodny.com/mysql/mytop/ för att kolla vilka queries som körs samt hur lång tid de tar.
B) Slå på log-slow-queries + long_query_time=5 i my.cnf (antar att du kör MySQL 4.x ?).
c) Definitivt använda query cachen.

Sedan kan man ha en lång utläggning om olika inställningar i konfigurationen osv. Du kan även kolla vilka tabeller som används mest, går dessa att optimera? Kanske det inte går, utan du behöver mer minne i servern, tuggar den mycket swap minne?
SkyNet är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-14, 09:11 #7
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Originally posted by fabian@Dec 13 2004, 23:34
Vad innebär "Avbrutna" uppkopplingar?

Skall verkligen så stor del av alla uppkopplingar vara avbrutna?
*vild gissning*

Du struntar i att använda mysql_close() i sina hack?

*/vild gissning*

En sak som bidrar till "hastigheten" är att använda persistenta uppkopplingar. (Då behöver du inte mysql_close())

En annan sak är om man använder PHP5 är att använda mysqli-funktionerna istället för mysql och däribland mysqli_prepare() för sina mest frekventa querys.

/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-14, 17:32 #8
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Citat:
Ursprungligen postat av zoran
Citat:
Ursprungligen postat av fabian
Vad innebär "Avbrutna" uppkopplingar?

Skall verkligen så stor del av alla uppkopplingar vara avbrutna?
*vild gissning*

Du struntar i att använda mysql_close() i sina hack?

*/vild gissning*

En sak som bidrar till "hastigheten" är att använda persistenta uppkopplingar. (Då behöver du inte mysql_close())

En annan sak är om man använder PHP5 är att använda mysqli-funktionerna istället för mysql och däribland mysqli_prepare() för sina mest frekventa querys.

/Zoran
Nej, det är mysql_close() överallt. Ändrade dock nyss till mysql_pconnect, men har fortfarande kvar mysql_close() i koden, borde jag ta bort det?
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-14, 17:39 #9
fabians avatar
fabian fabian är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2004
Inlägg: 2 162
fabian fabian är inte uppkopplad
Klarade millennium-buggen
fabians avatar
 
Reg.datum: Jul 2004
Inlägg: 2 162
Citat:
Originally posted by SkyNet@Dec 14 2004, 09:15
Körningsinformationen som du skickade med ger inte så mycket information, men 18 queries/sekund är inte alls mycket.

Skulle jag optimera skulle jag börja med att;

a) Ladda hem mytop från http://jeremy.zawodny.com/mysql/mytop/ för att kolla vilka queries som körs samt hur lång tid de tar.
B) Slå på log-slow-queries + long_query_time=5 i my.cnf (antar att du kör MySQL 4.x ?).
c) Definitivt använda query cachen.

Sedan kan man ha en lång utläggning om olika inställningar i konfigurationen osv. Du kan även kolla vilka tabeller som används mest, går dessa att optimera? Kanske det inte går, utan du behöver mer minne i servern, tuggar den mycket swap minne?
Får en ENORM logfil med slow_queries...

Citat:

# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 0 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='2493' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 2 *Rows_examined: 22482
SELECT * FROM commenttable WHERE name='2607' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 0 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='3815' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 0 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='18490' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 0 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='17112' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 2 *Rows_examined: 13301
SELECT * FROM commenttable WHERE name='122' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 0 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='8664' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 26 *Lock_time: 0 *Rows_sent: 1 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='20057' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 15 *Lock_time: 0 *Rows_sent: 1 *Rows_examined: 26506
SELECT * FROM commenttable WHERE name='92' ORDER BY id DESC LIMIT 2;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 18 *Lock_time: 0 *Rows_sent: 3 *Rows_examined: 11036
select url, id from imagetable where name = 'sandra i (y)' order by average desc;
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 619 Lock_time: 611 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 619 Lock_time: 611 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 560 Lock_time: 552 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 558 Lock_time: 550 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 555 Lock_time: 547 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 551 Lock_time: 543 Rows_sent: 10 Rows_examined: 12549
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE category = 'Tjejer' and total >= 20 and status = 'active' group
by name order by average DESC LIMIT 0,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 529 Lock_time: 521 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 522 Lock_time: 514 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 605 Lock_time: 597 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 600 Lock_time: 592 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 634 Lock_time: 626 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 625 Lock_time: 617 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 605 Lock_time: 597 Rows_sent: 11021 Rows_examined: 11035
SELECT id FROM imagetable WHERE status = 'active';
# Query_time: 384 Lock_time: 376 Rows_sent: 11019 Rows_examined: 11036
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 383 Lock_time: 375 Rows_sent: 10 Rows_examined: 12684
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE category = 'Tjejer' and status = 'active' group by name order b
y id DESC LIMIT 60,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 381 Lock_time: 374 Rows_sent: 11019 Rows_examined: 11036
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 374 Lock_time: 367 Rows_sent: 10 Rows_examined: 12674
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE category = 'Tjejer' and status = 'active' group by name order b
y id DESC LIMIT 50,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 370 Lock_time: 363 Rows_sent: 10 Rows_examined: 16509
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE status = 'active' and total >= 20 group by name order by averag
e DESC LIMIT 0,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 369 Lock_time: 362 Rows_sent: 10 Rows_examined: 16519
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE status = 'active' and total >= 20 group by name order by averag
e DESC LIMIT 10,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 367 Lock_time: 360 Rows_sent: 10 Rows_examined: 11866
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE category = 'Nakna killar' and status = 'active' group by name o
rder by id DESC LIMIT 0,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 367 Lock_time: 360 Rows_sent: 10 Rows_examined: 16519
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE status = 'active' and total >= 20 group by name order by averag
e DESC LIMIT 10,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 363 Lock_time: 356 Rows_sent: 10 Rows_examined: 12700
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE category = 'Tjejer' and total >= 20 and status = 'active' group
by name order by average DESC LIMIT 150,10;
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 361 Lock_time: 354 Rows_sent: 11019 Rows_examined: 11036
SELECT id FROM imagetable WHERE status = 'active';
# User@Host: fabmos[fabmos] @ localhost []
# Query_time: 359 Lock_time: 352 Rows_sent: 10 Rows_examined: 11059
SELECT name, id, url, MAX(average) as average, total FROM imagetable WHERE category = 'Naken.ORG' and total >= 20 and status = 'active' gr
oup by name order by average DESC LIMIT 0,10;
# User@Host: fabmos[fabmos] @ localhost []
Där är ett litet utkast ur den... är det någor speciellt jag skall leta efter?
fabian är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-14, 18:37 #10
Davids avatar
David David är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2003
Inlägg: 477
David David är inte uppkopplad
Flitig postare
Davids avatar
 
Reg.datum: Aug 2003
Inlägg: 477
Citat:
Originally posted by fabian@Dec 14 2004, 18:39
Där är ett litet utkast ur den... är det någor speciellt jag skall leta efter?
Du skulle ju kunna använda något endaste litet index NÅGONSTANS... :lol: Du har ju full table scans överallt!
David ä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 08:15.

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