Page 1 of 2
Datenbank hängt sich fast auf
Posted: 2007-01-29 11:30
by accelerator
Morgen,
könnte jemand mal bitte meine my.cnf überprüfen wo dort der Fehler ist. Die Datenbank hat über 300000 Tabellen mir ist es besonders wichtig das alles schnell gelesen wird. Auf dem Server läuft auch noch Apache unter SuSE mit etwa 80 Usern online.
Ich habe aber jetzt ein ganz anderes Problem, wenn ich ein Forum aufrufen will bei meinem Service dann kommt es zu extrem langen Ladezeiten. Manchmal dauert es 60-90 Sekunden bis die erste Seite auf ist... die nächsten Seiten laden dann immer so in 2-10 Sekunden. Das Problem ist erst seit dem ich die my.cnf von hier drin habe.
Ich weiss absolut nicht mehr woran es noch liegen kann... davor hat die erste Seite immer so 1-3 Sekunden gebraucht und jede weitere so 0.2-1.0 Sekunden nur das schreiben war langsam.
Ich wäre euch sehr dankbar für Hilfe!
Hier meine Hardware:
Code: Select all
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 6
model name : Intel(R) Pentium(R) D CPU 3.20GHz
stepping : 2
cpu MHz : 3194.501
cache size : 2048 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pni monitor ds_cpl vmx cid cx16 xtpr lahf_lm
bogomips : 6390.28
Hier die MY.CNF:
Code: Select all
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqladmin]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = utf8
[mysqlcheck]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = utf8
[mysqldump]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = utf8
max_allowed_packet = 16M
quick
[isamchk]
character-sets-dir = /usr/share/mysql/charsets
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer_size = 256M
write_buffer_size = 256M
[myisamchk]
character-sets-dir = /usr/share/mysql/charsets
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer_size = 256M
write_buffer_size = 256M
#[myisampack]
#character-sets-dir = /usr/share/mysql/charsets
#[mysqld_safe]
#err-log = /var/log/mysql/mysql.err
#open-files-limit = 4096
[mysqld]
#character-sets-dir = /usr/share/mysql/charsets
#character-set-server = utf8
#default-character-set = utf8
#user = mysql
port = 3306
bind-address = 127.0.0.1
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysqld.err
basedir = /usr
datadir = /var/lib/mysql
#tmpdir = /tmp
#language = /usr/share/mysql/english
#log-bin = mysql-bin
server-id = 1
sync_binlog = 0
#skip-locking
skip-networking
#skip-name-resolve
skip-external-locking
#skip-show-database
max_allowed_packet = 8M
connect_timeout = 30
key_buffer = 512M
net_buffer_length = 256M
key_buffer_size = 256M
sort_buffer_size = 256M
join_buffer_size = 256M
read_buffer_size = 256M
max_connections = 1500
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 64M
myisam_max_sort_file_size = 64M
myisam_max_extra_sort_file_size = 64M
thread_cache_size = 10024
table_cache = 10024
query_cache_type = 1
query_cache_size = 512M
query_cache_limit = 512M
#thread_concurrency = 16
#myisam_repair_threads = 0
slave_compressed_protocol = 0
#binlog_cache_size = 1M
#max_binlog_size = 10M
#safe-user-create = 1
#default_table_type = MYISAM
#transaction_isolation = REPEATABLE-READ
#delay-key-write = ALL
#read_rnd_buffer_size = 128M
#max_heap_table_size = 4M
#tmp_table_size = 4M
#local-infile = 0
#long_query_time = 30
#log_slow_queries
#log_long_format
#myisam_recover
#skip-innodb
[mysqlhotcopy]
interactive-timeout
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 11:36
by daemotron
Poste mal bitte die Ausgabe von
Einmal bei laufendem mysqld, einmal ohne.
BTW. wie sieht Dein Festplatten-Setup aus? Wie viele Platten, welche Bus-Technik, RAID, LVM?
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 11:54
by accelerator
Code: Select all
total used free shared buffers cached
Mem: 3797 1458 2338 0 81 669
-/+ buffers/cache: 707 3089
Swap: 977 0 977
Im laufenden Betrieb, ohne kann ich leider jetzt nicht testen, es wird zu voll. Aber es läd alles sehr langsam und auch erst seit 2 Tagen.
2 Festplatten mit RAID-1 beide 160GB
Bus-Technik und LVM leider k.A. ich wüsste jetzt nicht wie ich das herausfinde. :oops:
Es ist so, das seit 2 Tagen viele Sleep Verbindungen auftauchen und closing table... das sind insgesamt so jede Minute 60 Verbindungen die offen bleiben für ca. 4-10 Sekunden... dann auch mal welche die 260 Sekunden dauern... die würde ich dann gerne kappen.
Ich hab total vergessen das ich MySQL 4.1 drauf habe.
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 12:32
by accelerator
Kann mir keiner helfen?
Es ging alles gut, bis ich neulich mal durch einen PHP Accelerator mein System zerstört habe... bzw. durch eine abgestürtzte Yast installation.
Dann habe ich alles neuinstalliert, das geht bei meinem Provider automatisch und seit dem hab ich richtige Probleme.
Ich denke mal das der Server mehr als 30-60 User gleichzeitig versorgen kann oder? :lol:
Die URL zur Seite kann ich euch gerne per PN schicken, damit ihr mal sehen könnt was dort los ist. Apache hab ich jetzt geschafft stabil zu halten, also das läd wirklich super, nur eben die Datenbank läuft nicht normal...

Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 15:11
by daemotron
Nur aus den Informationen zu Deiner CPU und der Konfiguration kann man schlecht raten, wo der Flaschenhals ist. Interessanter ist, wie sich MySQL bei Dir zur Laufzeit verhält. Hast Du zufällig phpMyAdmin installiert? Wenn ja, logg Dich da mal als root ein und schau Dir den Punkt "MySQL-Laufzeit-Informationen zeigen" an bzw. kopier das mal als statisches HTML und stell es irgendwo zur Verfügung. Diese Übersicht gibt IMHO ganz gute Hinweise darauf, wo die Kiste wirklich hängt, welcher Cache ev. unterdimensioniert ist etc.
[EDIT]
Bus-Technik und LVM leider k.A. ich wüsste jetzt nicht wie ich das herausfinde
Bus-Technik: Ich würde mal auf SATA tippen (160GB wäre für ne SCSI-Platte eine ungewöhnlich Größe :lol:). LVM wird nur verwendet, wenn Du's auch eingerichtet hast. Wie ist das RAID realisiert? per md_mod oder hardware-seitig?
[/EDIT]
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 15:38
by kase
Hast du immer noch so eine rießige IO-Wait, wie in deinem anderen Thread gepostet?
Am besten zeigst du uns nochmal eine Ausgabe von TOP, wenn es so richtig langsam ist.
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 16:15
by daemotron
Google hat ein nettes Dokument von isotopp zum Thema zu Tage gefördert; lohnt wirklich, sich das mal anzuschauen (
http://blog.koehntopp.de/uploads/PT_isotopp_deutsch.pdf)
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 16:50
by accelerator
Der IO-Wait ist fast immer noch so gigantisch.
Die Liste ist weiter unten.
Hier nun der Link wie es so in phpMyAdmin aussieht... das ist wirklich nicht schön.
Link zur phpMyAdmin Liste:
http://www.kostenloses-forum.be/INFO.htm
Ihr könnt euch ja auch mal angucken was dort los ist und wie langsam es geht:
http://demo.kostenloses-forum.be
Der RAID wird per Hardware geregelt.
Ich denke das es nur an der Datenbank liegt, da HTML Seiten ja schnell laden.
Code: Select all
top - 16:44:22 up 1 day, 5:55, 0 users, load average: 7.94, 8.94, 8.44
Tasks: 99 total, 1 running, 98 sleeping, 0 stopped, 0 zombie
Cpu(s): 30.5% us, 4.8% sy, 0.0% ni, 2.5% id, 62.1% wa, 0.1% hi, 0.1% si
Mem: 3888284k total, 2027616k used, 1860668k free, 119904k buffers
Swap: 1001464k total, 524k used, 1000940k free, 1094080k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12403 wwwrun 16 0 37420 13m 2992 S 15.9 0.4 0:02.01 httpd2-prefork
10172 wwwrun 16 0 38908 16m 4000 S 13.9 0.4 0:05.12 httpd2-prefork
31153 wwwrun 15 0 39008 17m 5008 S 9.9 0.5 0:12.81 httpd2-prefork
6502 wwwrun 15 0 39012 16m 4016 S 4.0 0.4 0:12.15 httpd2-prefork
1 root 15 0 692 144 104 S 0.0 0.0 0:00.16 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/0
3 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/0
4 root 10 -5 0 0 0 S 0.0 0.0 0:00.06 khelper
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
8 root 10 -5 0 0 0 S 0.0 0.0 0:01.07 kblockd/0
9 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
100 root 25 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
101 root 15 0 0 0 0 S 0.0 0.0 0:03.81 pdflush
102 root 10 -5 0 0 0 S 0.0 0.0 0:14.19 kswapd0
103 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
104 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 jfsIO
105 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 jfsCommit
106 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 jfsSync
107 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 xfslogd/0
108 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 xfsdatad/0
791 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
796 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 ata/0
797 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 ata_aux
818 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kpsmoused
821 root 10 -5 0 0 0 D 0.0 0.0 0:12.61 kjournald
931 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
1231 messageb 17 0 3528 824 676 S 0.0 0.0 0:00.00 dbus-daemon
2014 root 18 0 4092 684 576 S 0.0 0.0 0:00.00 saslauthd
2036 root 15 0 2220 808 664 S 0.0 0.0 0:00.00 xinetd
2039 root 18 0 4704 1076 860 S 0.0 0.0 0:00.85 sshd
2045 root 15 0 1520 400 320 S 0.0 0.0 0:00.00 klogd
2049 root 16 0 1888 744 568 D 0.0 0.0 0:01.12 syslog-ng
2054 root 18 0 4348 1108 804 S 0.0 0.0 0:00.00 saslauthd
2055 root 18 0 4348 1108 804 S 0.0 0.0 0:00.00 saslauthd
2056 root 18 0 4348 1108 804 S 0.0 0.0 0:00.00 saslauthd
2057 root 18 0 4092 356 248 S 0.0 0.0 0:00.00 saslauthd
2094 named 18 0 30244 1980 1236 S 0.0 0.1 0:00.05 named
2160 root 15 0 4792 1680 1356 S 0.0 0.0 0:01.26 master
2196 root 15 0 1780 676 556 S 0.0 0.0 0:00.07 cron
2199 root 16 0 3488 1572 1000 S 0.0 0.0 0:00.00 hald
2409 root 18 0 1924 748 636 S 0.0 0.0 0:00.01 mingetty
2411 root 18 0 1928 752 636 S 0.0 0.0 0:00.02 mingetty
2412 root 18 0 1928 752 636 S 0.0 0.0 0:00.02 mingetty
2413 root 18 0 1924 748 636 S 0.0 0.0 0:00.02 mingetty
2414 root 19 0 1928 752 636 S 0.0 0.0 0:00.02 mingetty
2415 root 20 0 1924 748 636 S 0.0 0.0 0:00.01 mingetty
20112 root 18 0 2492 1232 1004 S 0.0 0.0 0:00.00 mysqld_safe
456 mysql 15 0 519m 140m 4096 S 0.0 3.7 75:09.13 mysqld
22875 postfix 15 0 4964 1880 1416 S 0.0 0.0 0:00.27 qmgr
32306 root 18 0 30420 10m 7016 S 0.0 0.3 0:01.03 httpd2-prefork
32307 root 18 0 3472 1544 1256 S 0.0 0.0 0:01.73 pipelog.pl
1672 postfix 16 0 4804 1692 1356 S 0.0 0.0 0:00.00 pickup
5132 wwwrun 15 0 38016 15m 4016 S 0.0 0.4 0:08.82 httpd2-prefork
7771 wwwrun 16 0 39384 16m 4020 S 0.0 0.4 0:08.59 httpd2-prefork
8583 wwwrun 15 0 38360 16m 4904 S 0.0 0.4 0:05.11 httpd2-prefork
8588 wwwrun 18 0 38288 15m 4080 S 0.0 0.4 0:03.05 httpd2-prefork
8759 wwwrun 19 0 39804 16m 3988 S 0.0 0.4 0:08.29 httpd2-prefork
9734 wwwrun 16 0 39172 16m 3996 S 0.0 0.4 0:04.75 httpd2-prefork
10131 wwwrun 15 0 39652 17m 4980 S 0.0 0.5 0:06.57 httpd2-prefork
10379 wwwrun 18 0 38132 14m 3016 S 0.0 0.4 0:03.64 httpd2-prefork
11269 wwwrun 15 0 38856 15m 3016 S 0.0 0.4 0:05.10 httpd2-prefork
11296 wwwrun 15 0 36616 13m 3980 S 0.0 0.4 0:02.14 httpd2-prefork
11423 wwwrun 15 0 38316 16m 4928 S 0.0 0.4 0:03.45 httpd2-prefork
11424 wwwrun 15 0 37712 14m 3012 S 0.0 0.4 0:03.66 httpd2-prefork
11432 wwwrun 17 0 39100 17m 4932 S 0.0 0.5 0:04.47 httpd2-prefork
11437 wwwrun 15 0 39200 15m 2964 S 0.0 0.4 0:03.11 httpd2-prefork
11647 wwwrun 15 0 38520 14m 2980 S 0.0 0.4 0:03.26 httpd2-prefork
11649 wwwrun 16 0 38924 16m 3956 S 0.0 0.4 0:05.41 httpd2-prefork
11878 wwwrun 15 0 38532 15m 3976 S 0.0 0.4 0:04.10 httpd2-prefork
12116 root 15 0 7760 2520 2024 S 0.0 0.1 0:00.01 sshd
12149 root 15 0 4324 1352 1032 S 0.0 0.0 0:00.00 sftp-server
12234 wwwrun 18 0 37324 14m 4104 S 0.0 0.4 0:01.40 httpd2-prefork
12240 root 15 0 7760 2516 2024 S 0.0 0.1 0:00.01 sshd
12252 root 15 0 3828 1556 1264 S 0.0 0.0 0:00.03 bash
12369 postfix 15 0 4816 2016 1632 S 0.0 0.1 0:00.00 trivial-rewrite
12398 wwwrun 15 0 38624 16m 4116 S 0.0 0.4 0:02.51 httpd2-prefork
12400 wwwrun 15 0 39316 15m 2932 S 0.0 0.4 0:02.03 httpd2-prefork
12406 wwwrun 15 0 38812 16m 3960 S 0.0 0.4 0:02.31 httpd2-prefork
12408 wwwrun 16 0 38856 15m 2944 S 0.0 0.4 0:02.01 httpd2-prefork
12417 wwwrun 15 0 38708 15m 2992 S 0.0 0.4 0:02.17 httpd2-prefork
12419 wwwrun 15 0 38308 14m 2964 S 0.0 0.4 0:03.00 httpd2-prefork
12420 wwwrun 15 0 38524 14m 2976 S 0.0 0.4 0:02.28 httpd2-prefork
12421 wwwrun 15 0 36032 13m 3960 S 0.0 0.4 0:01.82 httpd2-prefork
12431 wwwrun 15 0 37756 14m 2984 S 0.0 0.4 0:02.71 httpd2-prefork
12434 wwwrun 20 0 39504 16m 3944 S 0.0 0.4 0:02.42 httpd2-prefork
12581 wwwrun 18 0 37476 13m 2892 S 0.0 0.4 0:00.35 httpd2-prefork
12582 wwwrun 15 0 37704 15m 4860 S 0.0 0.4 0:02.16 httpd2-prefork
12667 wwwrun 15 0 36104 12m 2940 S 0.0 0.3 0:01.55 httpd2-prefork
12779 wwwrun 15 0 36220 13m 3968 S 0.0 0.4 0:01.04 httpd2-prefork
12781 wwwrun 15 0 38244 14m 2976 S 0.0 0.4 0:02.20 httpd2-prefork
12975 nobody 16 0 2004 980 704 S 0.0 0.0 0:00.00 vsftpd
12988 web29 15 0 2312 972 596 S 0.0 0.0 0:00.02 vsftpd
13008 wwwrun 18 0 37136 13m 2948 S 0.0 0.4 0:00.40 httpd2-prefork
13148 wwwrun 15 0 38272 14m 2948 S 0.0 0.4 0:02.43 httpd2-prefork
13259 postfix 16 0 4832 2060 1672 D 0.0 0.1 0:00.00 cleanup
13275 postfix 15 0 4908 1884 1524 S 0.0 0.0 0:00.00 smtp
13278 postfix 15 0 4832 2052 1664 S 0.0 0.1 0:00.00 cleanup
13434 postfix 16 0 4836 2000 1648 S 0.0 0.1 0:00.00 local
13850 root 15 0 2104 1012 740 R 0.0 0.0 0:00.00 top
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 17:16
by Joe User
Ich sehe allein auf der Startseite 30 bis 40 überflüssige/unoptimierte SQL-Queries durch unoptimierte phpBB2-Mods (Shoutbox, Calendar, GroupColours, CrackerTracker, Werbebox). Hinzu kommen weitere SQL-Intensive Mods, beispielsweise Intro/Portal und FullAlbumPack. Zudem sind ein paar Mods veraltet und beinhalten bekannte Sicherheitslücken (CrackerTracker)...
Bevor der Source nicht aufgeräumt und optimiert ist, macht es keinen Sinn an der MySQL-Konfiguration zu schrauben. Sorry...
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 17:19
by accelerator
Der CrackerTracker ist aber ganz neu und soll Sicherheit bringen. :lol:
Werbebox, nimmt gleich Null weg. Und die anderen Mods werden nicht auf der Startseite geladen. Es werden nur die Beiträge und User sowie die Config Tabelle geladen, welche schon soweit optimiert sind, das es alles schnell gehen müsste, was auch gegangen ist, bis vor kurzem, als ich an der Konfiguration etwas geändert habe.
Nun ja... es ging aber vor der neuinstallation auch alles blitz schnell. Es liegt nicht an den Mods... ich werde dan noch einiges tun, aber erstmal muss es wieder laufen. :(
Das schlimme find ich nur das die erste Seite die man aufrufen will, bzw. das erste Forum, das es so lange dauert, wenn man dann auf einen Beitrag will geht es wieder ruckzuck.
Startseite 130sekunden - Beitrag 0,7 Sekunden. Mit 0,7 Sekunden kann ich erstmal leben! Bei der Startseite könnte ich auch mit 2 Sekunden leben, aber es ging vor der installation auch alles in 0,2-1 Sekunden. Wo ist der Fehler, er muss an der Konfiguration liegen?
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 17:32
by Joe User
Accelerator wrote:Der CrackerTracker ist aber ganz neu und soll Sicherheit bringen. :lol:
Vertraue mir, er bringt nur Sicherheitslücken und unnötige Last, mehr nicht.
Versuche esmal folgender my.cnf, bitte nur die Pfade anpassen:
Code: Select all
[client]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = latin1
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysql]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = latin1
prompt = u@h [d]>_
no-auto-rehash
[mysqladmin]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = latin1
[mysqlcheck]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = latin1
[mysqldump]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = latin1
max_allowed_packet = 16M
quote-names
quick
[mysqlimport]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = latin1
[mysqlshow]
character-sets-dir = /usr/share/mysql/charsets
default-character-set = latin1
[isamchk]
character-sets-dir = /usr/share/mysql/charsets
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer_size = 4M
write_buffer_size = 4M
[myisamchk]
character-sets-dir = /usr/share/mysql/charsets
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer_size = 4M
write_buffer_size = 4M
[myisampack]
character-sets-dir = /usr/share/mysql/charsets
[mysqld_safe]
err-log = /var/log/mysql/mysql.err
open-files-limit = 4096
[mysqld]
character-sets-dir = /usr/share/mysql/charsets
character-set-server = latin1
default-character-set = latin1
user = mysql
port = 3306
bind-address = 127.0.0.1
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysqld.err
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
log-bin = mysql-bin
server-id = 1
sync_binlog = 1
binlog_cache_size = 1M
max_binlog_size = 100M
slave_compressed_protocol = 1
delay-key-write = ALL
skip-locking
#skip-networking
skip-name-resolve
skip-external-locking
skip-show-database
safe-user-create = 1
default_table_type = MYISAM
transaction_isolation = REPEATABLE-READ
key_buffer_size = 768M
sort_buffer_size = 8M
join_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size = 8M
bulk_insert_buffer_size = 32M
myisam_sort_buffer_size = 64M
myisam_max_sort_file_size = 1G
myisam_max_extra_sort_file_size = 1G
myisam_repair_threads = 1
max_heap_table_size = 64M
max_allowed_packet = 16M
max_seeks_for_key = 100
tmp_table_size = 64M
table_cache = 2048
query_cache_type = 1
query_cache_size = 256M
query_cache_limit = 2M
query_cache_min_res_unit = 4K
thread_concurrency = 8
thread_cache_size = 16
local-infile = 0
log_warnings = 0
long_query_time = 4
#log_slow_queries
#log_queries_not_using_indexes
#log_slave_updates
log_long_format
myisam_recover
#log_warnings
skip-innodb
innodb_thread_concurrency = 8
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
innodb_data_home_dir = /var/lib/mysql
innodb_log_arch_dir = /var/lib/mysql
innodb_log_group_home_dir = /var/lib/mysql
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 60
[mysqlhotcopy]
interactive-timeout
HTH
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 17:37
by accelerator
restart geht glaube ich irgendwie nicht mehr bei MySQL... ich hab jetzt einfach reboot gemacht und gucke gleich mal wie es aussieht. Eben hat es noch keine Änderung gebracht. :oops:
Ich hab ja eben den Reboot gemacht... wie kann es sein das sogar der 1-2 Minuten braucht um durchzukommen?
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 17:43
by Joe User
Accelerator wrote:Ich hab ja eben den Reboot gemacht... wie kann es sein das sogar der 1-2 Minuten braucht um durchzukommen?
Das ist normal.
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 18:11
by accelerator
Ok... ich hatte vergessen den richtigen Ordner einzutragen, das sah alles so richtig aus.
Jetzt läuft MySQL. Aber verändert hat sich dort nicht wirklich etwas zwar läd alles schonmal doppelt so schnell, aber begeistert bin ich noch nicht. Ich versuche jetzt mal dort etwas zu verbessern. Und meld mich wieder. :roll:
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 20:47
by kase
Versuch deine Platte mal zu tunen mit hdparm und viel mehr Cache bei deinen Prozesssen aktivieren.
Ich verstehe nicht ganz, wie man auf solche IO-Wait Werte kommt, das ist echt extrem, vielleicht sogar HDD Defekt?
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 21:38
by accelerator
Ich hab jetzt meine Standard Konfiguration vom alten Server genommen, die geht aber nur perfekt bis zu 20-30 Usern online, danach hängt alles. Hat denn keiner mehr einen Tipp?
Das mit der Festplatte gucke ich mir morgen mal an, aber wenn die kapput sein sollte... oh nein, das will ich mir jetzt garnicht vorstellen, aber wie genau merkt man ob die kapput ist oder nicht? :oops:
Re: Datenbank hängt sich fast auf
Posted: 2007-01-29 22:25
by daemotron
kase wrote:Ich verstehe nicht ganz, wie man auf solche IO-Wait Werte kommt
Ich könnte mir vorstellen, dass 300.000 Tabellen auf einer MySQL-Instanz nicht unbedingt die beste Idee sind... v. a. wenn man nur 2 Platten hat, die Seeks ausführen können. Wenn die Zugriffe (auch rein lesende) wahlfrei über alle Tabellen verteilt sind, kommen die armen Köpfe gar nicht mehr hinterher, an die richtige Stelle zu fahren. Im schlimmsten Fall ist MySQL nur noch damit beschäftigt, File-Handles auf- und zuzumachen... und zwar nur, um die .frm-Dateien mit den Tabellendefinitionen alle mal gelesen zu haben...
In dem Zusammenhang vielleicht interessant:
http://mysqldump.azundris.com/archives/ ... blems.html (insbesondere
"3. Using multiple databases")
Re: Datenbank hängt sich fast auf
Posted: 2007-01-30 07:32
by accelerator
Woher weiss ich jetzt wo dieser Wert herkommt? 85.6% wa
Mit dem Online Betrieb hat es auf jedenfall nichts zu tun, da ich gerade 5 Minuten alles dicht gemacht habe... und es hat sich am Wert nichts getan. Von 85.7 auf jetzt 85.6.
Wie kriege ich raus was da los ist?
Und davor hat er auch nicht die Datenbank gescannt... wie kann das auf einmal sein? Er soll einfach die Daten öffnen die man ihm sagt und nichts anderes. :oops:
Re: Datenbank hängt sich fast auf
Posted: 2007-01-30 10:08
by daemotron
Accelerator wrote:Er soll einfach die Daten öffnen die man ihm sagt und nichts anderes.
Genau da liegt möglicherweise der Hund begraben... 300000 Tabellen bedeuten 300000 Tabellen-Definitionen, die jeweils in einer eigenen *.frm-Datei abgelegt sind. Ohne diese Dateien einmal geöffnet zu haben, kann MySQL nicht auf die entsprechenden Tabellen zugreifen.
Da bei MySQL < 5.1 die Handles für diese Dateien und das Caching der daraus gelesenen Tabellen-Definitionen untrennbar im Table-Cache vereint sind, brauchst Du in Deiner Konfiguration einen Wert für table_cache, der in etwa der Anzahl der Tabellen auf Deinem System entspricht, also irgendwas um die 300000 (und ein entsprechend hohes open_files_limit).
Wahrscheinlich resultiert Dein hoher I/O-Wait daraus, dass deine Platten immer noch damit beschäftigt sind, die von MySQL gestellten Leseanforderungen auf die *.frm-Dateien nachzukommen (selbst mit der ge-tuned-ten Konfiguration von Joe User stellst Du "nur" 4096 File-Handles und einen Table-Cache von 2048 zur Verfügung). Mag aber auch angehen, dass Deine Hardware (sprich: Platten bzw. Controller) mit dieser Anzahl paralleler Dateizugriffe bereits überfordert ist und Karussell fährt.
Hier musst Du mal mit sehr hohen und eher niedrigen Werten experimentieren. Eventuell hilft's auch, dem MySQL-Datenverzeichnis eine Partition mit einem anderen Dateisystem zu spendieren (Spekulation, weiß nicht, was Du jetzt einsetzt...)
Re: Datenbank hängt sich fast auf
Posted: 2007-01-30 12:34
by Roger Wilco
Accelerator wrote:Woher weiss ich jetzt wo dieser Wert herkommt? 85.6% wa
Du solltest dir iostat/
dstat/slow query log ansehen.
Re: Datenbank hängt sich fast auf
Posted: 2007-01-30 14:03
by accelerator
Ich hab meinem Provider mal einen Log Auszug geschickt. Sie meinen das es ein RAID defekt ist und die Festplatte getauscht werden muss.
Danach installiere ich mir Debian und gucke mal ob das besser ist als SuSE.
Kurze frage noch, wie update ich von MySQL 4 auf MySQL 5?
Gibt es da eine einfache Eingabe mit der ich das bewirken kann?
Re: Datenbank hängt sich fast auf
Posted: 2007-01-30 22:35
by isotopp
Accelerator wrote:Die Datenbank hat über 300000 Tabellen mir ist es besonders wichtig das alles schnell gelesen wird.
Deine Schemadefinition ist wahrscheinlich extrem schlecht und nicht gut normalisiert.
In jedem Fall ist es vom verwendeten Dateisystem (ext2, ext3, xfs, reiserfs) abhängig ob man hier überhaupt auf Performance kommen kann. Dazu brauchst Du dann wie bereits gesagt wahrscheinlich einen knapp astronomisch großen Table Cache. Das ist alles ziemlich sinnlos und unkoordiniert, was Du hier tust.
Re: Datenbank hängt sich fast auf
Posted: 2007-01-31 17:19
by accelerator
Ich habe jetzt einen Wert von
Cpu(s): 7.1% us, 0.9% sy, 0.0% ni, 87.8% id, 4.0% wa, 0.1% hi, 0.1
ist das normal? :(
Es läuft gerade nichts auf dem Server...
Re: Datenbank hängt sich fast auf
Posted: 2007-01-31 17:28
by kase
4% IO-Wait ist sicher nicht normal, wenn gar nichts auf dem Server läuft.
Ich tippe auch fast auf eine defekte Festplatte, je nachdem, welches Raid du hast, müssen unter Umständen deine Daten ständig aus der Prüfsumme berechnet werden, falls 1 HDD ausgefallen ist.
Re: Datenbank hängt sich fast auf
Posted: 2007-01-31 18:05
by accelerator
So 20 Prozesse die 0,0 RAM und CPU verbrauchen laufen sonst nichts.
Ich werde später nochmal etwas posten wenn die Datenbank wieder eingespielt ist, aber es sieht ganz gut aus, bis jetzt.