Mysql 5.0 Auslastung hoch

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
KGBschnik
Beiträge: 21
Registriert: 16.10.2006 20:48:32

Mysql 5.0 Auslastung hoch

Beitrag von KGBschnik » 20.07.2007 10:07:14

Hallo Forengemeinde,

ich betreibe ne flirtsite. Da Besucherzahlen immer weiter stiegen reichte, der Server nicht mehr aus. Das lag hauptsächlich am Apache. Dieser lastete den Server stark aus.

Nach dem Serverumzug ist nun auf dem neuen System der Apache nicht mehr derjenige Dienst der am meisten CPU-Last frisst:
AMD Opteron 1218 Dual Core
4 GB DDR2-667 RAM

Dafür aber der Mysql-Server (htop):
MySQL-Dienst: ca 20% - 30% CPU Auslastung
Apache-Dienst ca. 5%

Zu meinem System:
Debian Etch, Apache2.2, Mysql-Server5.0

Hier meine my.cnf

Code: Alles auswählen

[client]
character_set         = utf8
default-character-set = utf8
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
#
# * Basic Settings
#
character-set-server  = utf8
default-character-set = utf8
init-connect='SET NAMES utf8'
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking
# old_passwords   = 1
key_buffer              = 128M
max_allowed_packet      = 16M
thread_stack            = 128K
thread_cache_size       = 32
#max_connections        = 100
table_cache             = 512
thread_concurrency      = 2
connect_timeout         = 10
interactive_timeout     = 100
wait_timeout            = 15
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 32M
query_cache_type         = 1
#
# * Logging and Replication
#
# Here you can see queries with especially long duration
log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time = 2


skip-bdb
[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer              = 64M
sort_buffer             = 64M
read_buffer             = 16M
write_buffer            = 16M

!includedir /etc/mysql/conf.d/
Wäre echt nett, wenn mir jemand Tipps zur Konfiguration oder Hinweise für weitere Möglichkeiten zur Diagnose geben könnte.

Sarem_Avuton
Beiträge: 546
Registriert: 16.12.2004 09:58:27
Wohnort: Leipzig

Beitrag von Sarem_Avuton » 20.07.2007 10:19:15

Hallo,

ich nutze gern das "tuning-primer" script. Zu finden z.B. http://day32.com/MySQL/

Grüße Jörg

KGBschnik
Beiträge: 21
Registriert: 16.10.2006 20:48:32

Beitrag von KGBschnik » 20.07.2007 11:03:53

Danke habe das Tool benutzt:

Schaffe es aber nicht alles zu optimieren, auch wenn ich die Werte zu einstelle wie es das Scriptg erne hätte:

Code: Alles auswählen

KEY BUFFER
Current MyISAM index space = 17 M
Current key_buffer_size = 32 M
Key cache miss rate is 1 : 41
Key buffer fill ratio = 1.00 %
Your key_buffer_size seems to be too high.
Perhaps you can use these resources elsewhere

QUERY CACHE
Query cache is enabled
Current query_cache_size = 1 M
Current query_cache_used = 30 K
Current query_cach_limit = 1 M
Current Query cache fill ratio = 3.00 %
Your query_cache_size seems to be too high.
Perhaps you can use these resources elsewhere
MySQL won't cache query results that are larger than query_cache_limit in size
Key_buffer hatte ich bereits mal auf 17M... hatte Script auch erkannt aber meinte, dass immer noch zu hoch sein.

Hier ein Teil meiner Ausgabe jetzt:

Code: Alles auswählen

top - 10:59:30 up 1 day, 20:26,  1 user,  load average: 2.16, 1.84, 1.99
Tasks: 170 total,   2 running, 168 sleeping,   0 stopped,   0 zombie
Cpu(s): 46.4%us, 34.3%sy,  0.0%ni, 18.9%id,  0.0%wa,  0.2%hi,  0.3%si,  0.0%st
Mem:   3984972k total,  3086780k used,   898192k free,   120832k buffers
Swap:  2096376k total,       44k used,  2096332k free,  2390984k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10091 mysql     15   0  148m  36m 5920 S  147  0.9   8:20.15 mysqld
10939 www-data  15   0 88360 9012 4000 S    2  0.2   0:00.12 apache2
10960 www-data  15   0 88260 8724 3768 S    1  0.2   0:00.08 apache2
10964 www-data  15   0 88520 8628 3568 S    1  0.2   0:00.06 apache2
10968 www-data  15   0 88520 8608 3564 S    1  0.2   0:00.06 apache2
10975 www-data  15   0 88260 8616 3668 S    1  0.2   0:00.08 apache2
10978 www-data  15   0 88520 8600 3564 S    1  0.2   0:00.06 apache2
10979 www-data  15   0 88260 8732 3768 S    1  0.2   0:00.13 apache2
10981 www-data  15   0 88520 8740 3692 S    1  0.2   0:00.06 apache2
10990 www-data  15   0 88260 8512 3564 S    1  0.2   0:00.04 apache2
  902 debkostj  15   0 36924 1856 1264 R    0  0.0   0:01.36 sshd
10903 www-data  15   0 88260 8544 3604 S    0  0.2   0:00.08 apache2
10906 www-data  15   0 88520 8788 3708 S    0  0.2   0:00.08 apache2
10911 www-data  15   0 88520 8612 3564 S    0  0.2   0:00.08 apache2
10912 www-data  15   0 88260 8544 3604 S    0  0.2   0:00.07 apache2
10915 www-data  15   0 88260 8680 3716 S    0  0.2   0:00.09 apache2
10917 www-data  15   0 88592 8940 3868 S    0  0.2   0:00.15 apache2
10919 www-data  15   0 88272 8940 3956 S    0  0.2   0:00.09 apache2
10921 www-data  15   0 88520 8720 3688 S    0  0.2   0:00.08 apache2
10929 www-data  15   0 88520 8612 3564 S    0  0.2   0:00.04 apache2
10941 www-data  15   0 88260 8548 3596 S    0  0.2   0:00.08 apache2
10951 www-data  15   0 88260 8564 3624 S    0  0.2   0:00.08 apache2
10952 www-data  15   0 88260 8732 3772 S    0  0.2   0:00.09 apache2
10953 www-data  15   0 88260 8740 3784 S    0  0.2   0:00.09 apache2
10955 www-data  15   0 88520 8644 3600 S    0  0.2   0:00.05 apache2
10959 www-data  15   0 88520 8616 3568 S    0  0.2   0:00.06 apache2
10969 www-data  15   0 88520 8608 3564 S    0  0.2   0:00.06 apache2
10970 www-data  16   0 88260 8780 3832 S    0  0.2   0:00.07 apache2
10972 www-data  15   0 88520 8796 3732 S    0  0.2   0:00.11 apache2
10980 www-data  15   0 88520 8612 3560 S    0  0.2   0:00.04 apache2
10982 www-data  15   0 88260 8652 3712 S    0  0.2   0:00.06 apache2
10984 www-data  15   0 88260 8696 3744 S    0  0.2   0:00.09 apache2
10986 www-data  15   0 88260 8496 3564 S    0  0.2   0:00.05 apache2

KGBschnik
Beiträge: 21
Registriert: 16.10.2006 20:48:32

Beitrag von KGBschnik » 28.09.2007 09:56:54

Also ich hole meinen Thread nochmal hoch. Ich konnte das oben beschriebene Problem vorzeitig lösen. Es lag an den Indizies, die ich nicht gesetzt hatte. Dadurch lief der Server zumindest eine Zeit lang recht gut. Jetzt habe ich mich auch ein wenig mit Indizes beschäftigt und meine Datenbank dementsprechend aktualisiert.

Nun tritt aber das gleiche Problem erneut auf. Wenn ich den Myslq-Dienst neu starte hat der Server so ca. 15 Minuten ne Load von 0.02 und dann auf einmal steigt die CPU-Auslastung des MySQL-Dienstes auf 100% und Serverload auf 5.XX oder noch höher.

Kann mir das jemand erklären?

KGBschnik
Beiträge: 21
Registriert: 16.10.2006 20:48:32

Beitrag von KGBschnik » 28.09.2007 15:50:04

Kennt jemand ein gutes Forum in dem ich auf meine MySQL-Frage eine ANtwort oder wenigstens einen Hinweis bekomme?

Bin wirklich ratlos. Habe jetzt nochmal Logging aktiviert. Alle Abfragen bei denen keine Indezes verwendet werden und das sind jetzt einige wenige, die aber auch recht komplex sind.

Ich habe auch keine Abfrage, die länger als 1 Sek dauert laut slow-query-logging. Irgendwie komisch, dass der Mysqld-Dienst trotzdem nach kurzer Zeit 100% erreicht.... also was ist das ultimative MySQL-Forum?

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 29.09.2007 09:14:18

Ohne genauere Einblicke in deine Anwendung (Datenmodell, Abfragen, Programmierschnittstelle) ist das wie im Nebel stochern, welche Hinweise erwartest du da :?:

Evtl findest du im Newsnet hilfe : http://groups.google.com/group/de.comp. ... &lnk=gschg
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

KGBschnik
Beiträge: 21
Registriert: 16.10.2006 20:48:32

Beitrag von KGBschnik » 01.10.2007 13:18:36

Naja es gibt ja allgemeine Vorgehensweisen. Z.B finde cih durch einschalten von Slow-Query Logging heraus, ob ich bestimmte Abfragen habe, die eine lange Ausführungszeit haben. Sowas in der Art suche ich. Es muss doch Möglichkeiten geben das Problem einzugrenzen.

Ich habe jetzt genug an den Konfigurationsvariablen ohne Erfolg rumgedreht :)

Antworten