MySQL Server optimieren

MySQL, PostgreSQL, SQLite
abrocker
Posts: 26
Joined: 2003-04-09 01:44

MySQL Server optimieren

Post by abrocker » 2003-04-18 21:55

Hi!
Ich habe nen Server mit nem Duron 900 und 256 MB und einer 13MB grossen MYSQL Datenbank. Ich möchte möglichst viel Dampf bei Abfragen haben, da es oft vorkommt, dass die ganze DB durchgegangen wird.
Was sollte ich da in der my.cnf ändern?
Gruss
Phil

jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: MySQL Server optimieren

Post by jtb » 2003-04-18 22:26

das kommt immer darauf an, wo der Engpass ist.. Wenn du viele Joins machst, ist der Parameter besser, wenn du viele order-by machst, der..

Die Option "MySQL-Laufzeit-Informationen anzeigen" von PHPMyAdmin (oder einfach show status) sind bei der Suche sehr hilfreich..

Außerdem solltest du ein Konzept haben, wie du den RAM einteilst.. Ein MySQL-Server kann alleine auf dem Server sein oder auch RAM noch an andere Dienste abgeben.. Falls du die Hardware modifizieren kannst, würde ich dir viel mehr RAM vorschlagen :)
Mein privater Server für LAN-Party's (Dual 866) hat mittlerweile ein Gig RAM..

abrocker
Posts: 26
Joined: 2003-04-09 01:44

Laufzeitinfos

Post by abrocker » 2003-04-19 10:39

Hi!
Hier dieLaufzeitinfos....ich kann da zwar was mit Anfangen, weiss aber nicht, wie ich jetzt den MySQL optimieren muss...

Code: Select all

 Abfrageart   ø pro Stunde   %  
 admin commands   0   0,00   0,00 %  
 alter table   1   0,03   0,00 %  
 analyze   0   0,00   0,00 %  
 backup table   0   0,00   0,00 %  
 begin   0   0,00   0,00 %  
 change db   4.079   108,75   7,90 %  
 change master   0   0,00   0,00 %  
 check   0   0,00   0,00 %  
 commit   0   0,00   0,00 %  
 create db   0   0,00   0,00 %  
 create function   0   0,00   0,00 %  
 create index   0   0,00   0,00 %  
 create table   2   0,05   0,00 %  
 delete   1.789   47,69   3,46 %  
 drop db   0   0,00   0,00 %  
 drop function   0   0,00   0,00 %  
 drop index   0   0,00   0,00 %  
 drop table   0   0,00   0,00 %  
 flush   2   0,05   0,00 %  
 grant   0   0,00   0,00 %  
 insert   252   6,72   0,49 %  
 insert select   0   0,00   0,00 %  
 kill   0   0,00   0,00 %  
 load   0   0,00   0,00 %  
 load master table   0   0,00   0,00 %  
 lock tables   0   0,00   0,00 %  
 optimize   0   0,00   0,00 %  
 purge   0   0,00   0,00 %  
 rename table   0   0,00   0,00 %  
  Abfrageart   ø pro Stunde   %  
 repair   0   0,00   0,00 %  
 replace   0   0,00   0,00 %  
 replace select   0   0,00   0,00 %  
 reset   0   0,00   0,00 %  
 restore table   0   0,00   0,00 %  
 revoke   0   0,00   0,00 %  
 rollback   0   0,00   0,00 %  
 select   31.394   836,96   60,79 %  
 set option   0   0,00   0,00 %  
 show binlogs   0   0,00   0,00 %  
 show create   0   0,00   0,00 %  
 show databases   12   0,32   0,02 %  
 show fields   44   1,17   0,09 %  
 show grants   11   0,29   0,02 %  
 show keys   13   0,35   0,03 %  
 show logs   0   0,00   0,00 %  
 show master status   0   0,00   0,00 %  
 show open tables   0   0,00   0,00 %  
 show processlist   15   0,40   0,03 %  
 show slave status   0   0,00   0,00 %  
 show status   1.266   33,75   2,45 %  
 show innodb status   0   0,00   0,00 %  
 show tables   151   4,03   0,29 %  
 show variables   116   3,09   0,22 %  
 slave start   0   0,00   0,00 %  
 slave stop   0   0,00   0,00 %  
 truncate   0   0,00   0,00 %  
 unlock tables   0   0,00   0,00 %  
 update   9.705   258,73   18,79 %  
 


Weitere Statusvariablen
 Variable   Wert  
 Created tmp disk tables   31  
 Created tmp tables   192  
 Created tmp files   0  
 Delayed insert threads   0  
 Delayed writes   0  
 Delayed errors   0  
 Flush commands   1  
 Handler delete   29  
 Handler read first   13191  
 Handler read key   3109857  
 Handler read next   7373438  
 Handler read prev   205  
 Handler read rnd   184473  
 Handler read rnd next   26510542  
 Handler update   2599038  
 Handler write   7467363  
  Variable   Wert  
 Key blocks used   15582  
 Key read requests   16538474  
 Key reads   505  
 Key write requests   4239150  
 Key writes   335  
 Max used connections   55  
 Not flushed key blocks   0  
 Not flushed delayed rows   0  
 Open tables   64  
 Open files   126  
 Open streams   0  
 Opened tables   4093  
 Select full join   44  
 Select full range join   0  
 Select range   84  
 Select range check   0  
  Variable   Wert  
 Select scan   8884  
 Slave running   OFF  
 Slave open temp tables   0  
 Slow launch threads   0  
 Slow queries   4  
 Sort merge passes   0  
 Sort range   33  
 Sort rows   136719  
 Sort scan   1640  
 Table locks immediate   42429  
 Table locks waited   0  
 Threads cached   0  
 Threads created   3877  
 Threads connected   1  
 Threads running   1  
 

dea
Posts: 532
Joined: 2002-08-13 12:05

Re: MySQL Server optimieren

Post by dea » 2003-04-19 12:44

Jtb wrote:das kommt immer darauf an, wo der Engpass ist.. Wenn du viele Joins machst, ist der Parameter besser, wenn du viele order-by machst, der..

<snip>
Jtb, jetzt da ja Informationen vorliegen - könntest Du das vll. ausführlicher beschreiben/begründen wie so ein MySQL-Server optimiert wird?
Sowas interessiert mich sehr - hab' leider keinen im direkten Umfeld, der davon Ahnung hat, also musst Du dran glauben :wink:
Mein privater Server für LAN-Party's (Dual 866) hat mittlerweile ein Gig RAM..
Das verstehe ich jetzt wirklich nicht ;) Was hat die Zockerei mit 'ner DB zu tun? ... 8O

jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: MySQL Server optimieren

Post by jtb » 2003-04-19 12:50

wie sind den die jetztigen Einstellungen und wieviel RAM können wir verbrauchen?


Das ist ein Intranet-Server für LANs..

abrocker
Posts: 26
Joined: 2003-04-09 01:44

Re: MySQL Server optimieren

Post by abrocker » 2003-04-19 13:01

Wir haben 256MB zur Verfügung. Es läuft noch ein Apache und sonst nicht viel auf dem Teil TOP zeigt zur Zeit


66 processes: 65 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 1.5% user, 0.3% system, 0.0% nice, 8.9% idle
Mem: 248500K av, 235908K used, 12592K free, 0K shrd, 49504K buff
Swap: 787176K av, 5248K used, 781928K free 102120K cached

jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: MySQL Server optimieren

Post by jtb » 2003-04-19 13:04

ok, wie sieht die MySQL-Config aus?

btw: hast du ein slow_query-Log?

abrocker
Posts: 26
Joined: 2003-04-09 01:44

Re: MySQL Server optimieren

Post by abrocker » 2003-04-19 13:14

das sollten die wichtigsten Optionen sein

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
#port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
skip-networking
set-variable = key_buffer=32M
set-variable = max_allowed_packet=1M
set-variable = table_cache=256
set-variable = sort_buffer=4M
set-variable = net_buffer_length=8K
set-variable = myisam_sort_buffer_size=8M
log-bin
server-id = 1

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: MySQL Server optimieren

Post by oxygen » 2003-04-19 13:41

Also log-bin sollte auf jedenfall schon mal raus. Es sei den du nutzt Replikation.

abrocker
Posts: 26
Joined: 2003-04-09 01:44

Re: MySQL Server optimieren

Post by abrocker » 2003-04-19 13:52

wir nutzen confixx.....hat das damit zu tun?

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: MySQL Server optimieren

Post by oxygen » 2003-04-19 13:58

Nein, einfach raus damit :wink:

abrocker
Posts: 26
Joined: 2003-04-09 01:44

Re: MySQL Server optimieren

Post by abrocker » 2003-04-19 14:12

ok ist weg ;-)

jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: MySQL Server optimieren

Post by jtb » 2003-04-19 14:25

mmh, die Werte sind für 256 MB schon sehr hoch..

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: MySQL Server optimieren

Post by oxygen » 2003-04-19 14:46

Da ein großer Teil der Querys SELECT's sind, könnte der Query Cache hilfreich sein (siehe http://www.mysql.com/doc/de/Query_Cache.html ). Das trifft besonders auf Foren wie das vbulletin, phpbb oder wbb zu. Da hier immer und immer wieder die gleichen Querys abgefragt werden.

Jedoch gibt es den erst ab MySQL4, was wohl mit Confixx Probleme bereiten kann. Bei mir läuft mysql 4.0.12 mit Confixx 1.6 aber problemlos.

abrocker
Posts: 26
Joined: 2003-04-09 01:44

Re: MySQL Server optimieren

Post by abrocker » 2003-04-19 14:56

ich möchte ungern updaten...bin grad erst in den livebetrieb gegangen

jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt

Re: MySQL Server optimieren

Post by jtb » 2003-04-19 14:57

wie sehen den die Zeiten für die Queries aus?
Ein vergessener Index kann man nicht mehr durch Parameter wieder wettmachen...