Performance Optimierung Apache 2.0 prefork

Apache, Lighttpd, nginx, Cherokee
globestern
Posts: 69
Joined: 2005-04-20 11:34

Performance Optimierung Apache 2.0 prefork

Post by globestern » 2008-03-11 19:26

hi

wieder einmal das alte thema performance optimierung apache...

vogängig zur situation:

webseite mit ca. 35000 user / täglich
relativ db lastige webseite (forum / dynamischer content mit vielen qry's)
der mysql status:

Server version: 4.1.21-standard
Protocol version: 10
Connection: Localhost via UNIX socket
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 1 hour 14 min 28 sec
Threads: 41 Questions: 2003676 Slow queries: 13 Opens: 334 Flush tables: 1 Open tables: 298 Queries per second avg: 448.450


zur server auslastung:

load average: 10.08, 9.83, 8.09
Mem: 1033480k total, 829500k used, 203980k free, 53660k buffers
Swap: 2096440k total, 152k used, 2096288k free, 537992k cached


wenn ich apache neustarte dann geht der load kurzzeitig etwas runter ~3-4 - danach aber wieder steigend

system: P4 3.0ghz & 1GB ram (könnte schneller sein ich weiss..)

apache config:

Timeout 30 #relativ tief
KeepAlive off
MaxKeepAliveRequests 80
KeepAliveTimeout 15

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 100
MaxClients 100 #vermutlich etwas hoch, wenn man nach der 15mb regel geht - allerdings ist die memory auslastung gering
MaxRequestsPerChild 4000
</IfModule>


verbesserungsvorschläge? fehler?

besten dank im voraus für eure antworten :-)

mfg

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

Re: Performance Optimierung Apache 2.0 prefork

Post by Roger Wilco » 2008-03-11 19:30

http://httpd.apache.org/docs/2.2/misc/perf-tuning.html

Zusätzlich würde ich einen Wechsel zu MPM worker vorschlagen.

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

Re: Performance Optimierung Apache 2.0 prefork

Post by Joe User » 2008-03-11 21:36

Zudem solltest Du auf einen aktuellen MySQL-5.[01] upgraden und die Queries reduzieren/optimieren, desweiteren wird es Zeit für einen dedizierten DB-Server mit >=2GB RAM und möglichst schnelleren Platten...

Welche Distribution? Falls Debian, dann bitte zu Gentoo oder openSUSE wechseln...
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.

globestern
Posts: 69
Joined: 2005-04-20 11:34

Re: Performance Optimierung Apache 2.0 prefork

Post by globestern » 2008-03-11 23:39

Joe User wrote:Zudem solltest Du auf einen aktuellen MySQL-5.[01] upgraden und die Queries reduzieren/optimieren, desweiteren wird es Zeit für einen dedizierten DB-Server mit >=2GB RAM und möglichst schnelleren Platten...

Welche Distribution? Falls Debian, dann bitte zu Gentoo oder openSUSE wechseln...


darum werde ich früher oder später sicherlich nicht herumkommen.. - dies ist auch schon in planung - wie kann ich aber jetzt noch vorübergehend etwas mehr perf. aus dem system "herauskitzeln"?

f4rr3ll
Posts: 36
Joined: 2008-03-09 23:36
Location: Schweitenkirchen

Re: Performance Optimierung Apache 2.0 prefork

Post by f4rr3ll » 2008-03-11 23:53

Joe User wrote:Welche Distribution? Falls Debian, dann bitte zu Gentoo oder openSUSE wechseln...




Gentoo ok..das kapiere ich ... aber warum openSUSE....

[sry]auch wenns OT ist[/sry]

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

Re: Performance Optimierung Apache 2.0 prefork

Post by daemotron » 2008-03-11 23:55

Globestern wrote:wie kann ich aber jetzt noch vorübergehend etwas mehr perf. aus dem system "herauskitzeln"?

Verschlanken, wo's nur geht. Apache durch Lighttpd o. ä. ersetzen, Skriptsprachen-Binaries (PHP/Perl/whatever) nur mit dem nötigsten kompilieren und den freiwerdenden RAM für MySQL zur Verfügung stellen. Ansonsten lässt sich ad hoc nicht mehr viel machen; so mies kann Deine Konfiguration nicht sein, wenn der mysqld bei nur einem Gig RAM noch klaglos ~450 Queries pro Sekunde bedient :wink: Möglicherweise ist noch was drin, wenn Du Dir die Slow Queries mal anschaust. Eventuell lässt sich mit optimierten Indices, Umstellung der Storage Engine für einzelne Tabellen (z. B. Session- und Cache-Tabellen auf MEMORY - eben die Tabellen mit häufigen Writes, deren Inhalt aber nicht unbedingt persistent gespeichert werden muss) noch ein bisschen was rauskitzeln, vielleicht lohnt es sich auch, ein paar Queries in der Applikation umzuschreiben.

Joe User wrote:für einen dedizierten DB-Server mit >=2GB RAM und möglichst schnelleren Platten...

s/schnelleren/vielen/
Das war doch isotopps Zauberformel... leider werden Server mit >=4 Platten eher selten zur Miete angeboten. Ab einem gewissen Projektumfang kommt man also kaum drum herum, auf Housing umzusteigen und eigenes Blech hinzustellen.

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

Re: Performance Optimierung Apache 2.0 prefork

Post by daemotron » 2008-03-12 00:02

F4RR3LL wrote:Gentoo ok..das kapiere ich ... aber warum openSUSE.... [sry]auch wenns OT ist[/sry]

Es geht um den Release-Zyklus, nicht (hauptsächlich) um Optimierung. Bei Gentoo entfällt er durch die kontinuierlichen Upgrades völlig, und bei OpenSUSE ist er deutlich kürzer als bei Debian. Alternativ ließen sich auch Ubuntu oder Fedora Core einsetzen, die beide auch relativ kurze und vor allem vorhersagbare Release-Zyklen haben. In Zukunft könnte auch noch ArchLinux interessant werden, das mit einigen Paketen sogar noch aktueller als Gentoo ist, aber IMHO (noch) nicht reif für den Servereinsatz ist.

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

Re: Performance Optimierung Apache 2.0 prefork

Post by Joe User » 2008-03-12 00:11

F4RR3LL wrote:
Joe User wrote:Welche Distribution? Falls Debian, dann bitte zu Gentoo oder openSUSE wechseln...

Gentoo ok..das kapiere ich ... aber warum openSUSE....

Weil openSUSE immerhin i586 ist und nicht i[34]86 wie Debian, was insbesondere MySQL nützt: http://www.rootforum.org/forum/view ... 32#p240232
Zudem ist (open)SUSE gerade als Server-Distribution besser als sein Ruf, man muss nur die Dokumentation lesen, verstehen und anwenden...
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.

f4rr3ll
Posts: 36
Joined: 2008-03-09 23:36
Location: Schweitenkirchen

Re: Performance Optimierung Apache 2.0 prefork

Post by f4rr3ll » 2008-03-12 00:26

Joe User wrote:Weil openSUSE immerhin i586 ist und nicht i[34]86 wie Debian, was insbesondere MySQL nützt: http://www.rootforum.org/forum/view ... 32#p240232
Zudem ist (open)SUSE gerade als Server-Distribution besser als sein Ruf, man muss nur die Dokumentation lesen, verstehen und anwenden...



Ok das wäre denn der Punkt für ne Grundsatzdiskussion ;)..
ne Spaß beiseite ... THX für die info ...
und hoffe globestern das du deinen apache noch bissl tunen kannst