MySQL Server optimieren
MySQL Server optimieren
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
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
Re: MySQL Server optimieren
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..
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..
Laufzeitinfos
Hi!
Hier dieLaufzeitinfos....ich kann da zwar was mit Anfangen, weiss aber nicht, wie ich jetzt den MySQL optimieren muss...
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
Re: MySQL Server optimieren
Jtb, jetzt da ja Informationen vorliegen - könntest Du das vll. ausführlicher beschreiben/begründen wie so ein MySQL-Server optimiert wird?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>
Sowas interessiert mich sehr - hab' leider keinen im direkten Umfeld, der davon Ahnung hat, also musst Du dran glauben
Das verstehe ich jetzt wirklich nicht ;) Was hat die Zockerei mit 'ner DB zu tun? ... 8OMein privater Server für LAN-Party's (Dual 866) hat mittlerweile ein Gig RAM..
Re: MySQL Server optimieren
wie sind den die jetztigen Einstellungen und wieviel RAM können wir verbrauchen?
Das ist ein Intranet-Server für LANs..
Das ist ein Intranet-Server für LANs..
Re: MySQL Server optimieren
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
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
Re: MySQL Server optimieren
ok, wie sieht die MySQL-Config aus?
btw: hast du ein slow_query-Log?
btw: hast du ein slow_query-Log?
Re: MySQL Server optimieren
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
# 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
Re: MySQL Server optimieren
Also log-bin sollte auf jedenfall schon mal raus. Es sei den du nutzt Replikation.
Re: MySQL Server optimieren
wir nutzen confixx.....hat das damit zu tun?
Re: MySQL Server optimieren
Nein, einfach raus damit 
Re: MySQL Server optimieren
mmh, die Werte sind für 256 MB schon sehr hoch..
Re: MySQL Server optimieren
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.
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.
Re: MySQL Server optimieren
ich möchte ungern updaten...bin grad erst in den livebetrieb gegangen
Re: MySQL Server optimieren
wie sehen den die Zeiten für die Queries aus?
Ein vergessener Index kann man nicht mehr durch Parameter wieder wettmachen...
Ein vergessener Index kann man nicht mehr durch Parameter wieder wettmachen...