Tuning: apache2.conf + my.cnf

  • Thread starter Thread starter eJunkie
  • Start date Start date
E

eJunkie

Guest
Hallo liebe Rootler,

ich habe gerade meinen zweiten Root eingerichtet und hätte gerne ein paar anregende Werte für die Apache2 und MySQL Settings. Momentan ist mir der Server ein wenig zu langsam, d.h. er liefert die Seiten zu spät aus und lässt einen ca. 0.75sec "warten".

Hardware:
AMD 64 X2 Dual Core 6000+ (3GHz) 1MB Cache
8GB DDR2-RAM
2x750GB SATA2 im RAID1

Software:
Debian 4.0 (Etch)
Apache 2.0
PHP 5.2.5-0
MySQL 5.0.45

apache2.conf (prefork)
Code:
Timeout 60
KeepAlive on
MaxKeepAliveRequests 1000
KeepAliveTimeout 10
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 230
MaxRequestsPerChild 0

my.cnf
Code:
key_buffer = 128M
max_allowed_packet      = 64M
thread_stack            = 128K
thread_cache_size       = 384
thread_concurrency      = 4
max_connections         = 2500
connect_timeout         = 10
read_rnd_buffer_size    = 524288
table_cache             = 512
sort_buffer             = 15M
query_cache_limit       = 4M
query_cache_size        = 96M
query_cache_type        = 1

ab -n 1000 WoW Quests
Code:
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    9 164.2      0    3001
Processing:     8   29  30.3     21     235
Waiting:        3    7   4.3      7      70
Total:          8   39 166.6     22    3032

Danke Danke, falls jemand etwas posten wird :).
 
Immer wieder die übliche Frage.
Nur kann man keine konkreten Antworten geben, da jedes System anders ist und Du bestimmt wieder andere Software/PHP-Scripte einsetzt als sonst einer...
Echte Tips: Hochleistungs-Apache: Performance-Tuning

KeepAliveTimeout 10
Ist jedenfalls zulang und kann blockieren.

Setz mal das tuning-primer-Script ein.
Es gibt Dir und evtl. uns ein paar Hinweise.

ab -n 1000
Hier fehlt eine wesentliche Info: Auf dem Server oder von zuhause oder wo?
Vor allem solltest auch mod_status aktivieren und beobachten.

huschi.
 
probiere mal
Code:
Timeout 30
KeepAlive on
MaxKeepAliveRequests 100
KeepAliveTimeout 2
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 400
MaxClients 400
MaxRequestsPerChild 4000
my.cnf
Code:
[mysqld]

key_buffer = 128M
net_buffer_length = 8K

sort_buffer_size = 128K
myisam_sort_buffer_size = 128K
read_buffer_size = 64K
read_rnd_buffer_size = 64K
join_buffer_size = 4M

query_cache_size = 32M
thread_cache = 128
thread_concurrency = 4
table_cache = 2048
max_allowed_packet = 512K

max_connections = 400
low_priority_updates = 1
long_query_time = 2

wären dann ~ 6000 MB RAM für Apache und ~ 1700 MB für MySQL, blieben noch ~ 300 MB für Linux, Plesk ect. Wenn der RAM nicht reichen sollte, machst du
Code:
ServerLimit 375
MaxClients 375
und
Code:
[mysqld]
max_connections = 375
dann noch alle Apache Module ausklammern die nicht benötigt werden. Benchmark kannst du dann mit
Code:
ab -n 100 -c 375 http://www.wow-quests.com/
machen.
MySQL + Apache Tuning
 
Last edited by a moderator:
Back
Top