Datenbank hängt sich fast auf

MySQL, PostgreSQL, SQLite
accelerator
Posts: 55
Joined: 2007-01-10 04:00

Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 11:30

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

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Datenbank hängt sich fast auf

Post by daemotron » 2007-01-29 11:36

Poste mal bitte die Ausgabe von

Code: Select all

free -m
Einmal bei laufendem mysqld, einmal ohne.

BTW. wie sieht Dein Festplatten-Setup aus? Wie viele Platten, welche Bus-Technik, RAID, LVM?

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 11:54

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.

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 12:32

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... :cry:

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Datenbank hängt sich fast auf

Post by daemotron » 2007-01-29 15:11

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]

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Datenbank hängt sich fast auf

Post by kase » 2007-01-29 15:38

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.

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Datenbank hängt sich fast auf

Post by daemotron » 2007-01-29 16:15

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)

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 16:50

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                

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Datenbank hängt sich fast auf

Post by Joe User » 2007-01-29 17:16

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...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 17:19

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. :( :cry:

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?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Datenbank hängt sich fast auf

Post by Joe User » 2007-01-29 17:32

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
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 17:37

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?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Datenbank hängt sich fast auf

Post by Joe User » 2007-01-29 17:43

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.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 18:11

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:

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Datenbank hängt sich fast auf

Post by kase » 2007-01-29 20:47

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?

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-29 21:38

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:

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Datenbank hängt sich fast auf

Post by daemotron » 2007-01-29 22:25

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")

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-30 07:32

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:

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Datenbank hängt sich fast auf

Post by daemotron » 2007-01-30 10:08

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...)

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Datenbank hängt sich fast auf

Post by Roger Wilco » 2007-01-30 12:34

Accelerator wrote:Woher weiss ich jetzt wo dieser Wert herkommt? 85.6% wa
Du solltest dir iostat/dstat/slow query log ansehen.

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-30 14:03

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?

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Datenbank hängt sich fast auf

Post by isotopp » 2007-01-30 22:35

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.

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-31 17:19

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...

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Datenbank hängt sich fast auf

Post by kase » 2007-01-31 17:28

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.

accelerator
Posts: 55
Joined: 2007-01-10 04:00

Re: Datenbank hängt sich fast auf

Post by accelerator » 2007-01-31 18:05

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.