Webhosting
Posts 1-9 of 9
-
Thomas Verbeek Premium MemberThe company name is only visible to registered members.Welche Hardware für gut besuchtes Webangebot?
Hallo,
ich betreibe im Auftrag eines Kunden einen dedizierten Webserver. Die Hardware besteht aus einem Dual-Opteron-Prozessorsystem mit 4 GB RAM und RAID. Gehostet bei 1&1.
Softwareseitig haben wir Suse 9.3 64-Bit, Apache 2, Mysql 4, und PostNuke.
Das Angebot erfreut sich wachsender Beliebtheit. Momentan kommen wir auf ca. 65.000 PIs / Tag.
Zu Spitzenzeiten wird das physische RAM zu 100% ausgelastet und der Swapspace wird verwendet, was natürlich zu Performance-Einbrüchen führt.
Jetzt die Frage: Kann man bei o.a. Zahlen davon ausgehen, dass die Hardware einfach nicht mehr ausreicht, und wir auf einen stärkeren Server aufrüsten müssen, oder sollte obige Hardware diese Art der Belastung locker schaffen?
Mir ist bewusst, dass bei diesen Angaben keine genauen Prognosen abgegeben werden können. Erfahrungswerte von ähnlich gut besuchten Webageboten wären aber sehr hilfreich.
Vielen Dank,
Tom Verbeek.
- 05 Feb 2007, 11:12 am
-
Sascha Teifke Premium MemberThe company name is only visible to registered members.Re: Welche Hardware für gut besuchtes Webangebot?
Hallo!
Mit welchem MPM läuft der Apache?
Läuft das über mod_php oder php über CGI?
Welcher Prozess benötigt am meisten Arbeitsspeicher?
Wir dein PHP Accelerator eingesetzt?
Wieviele simultane Anfragen sind es zu Spitzenzeiten?
Viele Grüße
Sascha Teifke
This post was modified on 05 Feb 2007 at 11:43 pm.- 05 Feb 2007, 11:38 pm
-
Thomas Verbeek Premium MemberThe company name is only visible to registered members.Re^2: Welche Hardware für gut besuchtes Webangebot?
Hallo!
Vielen Dank für die Antwort.
>> Mit welchem MPM läuft der Apache?
/usr/sbin/httpd2 -V | grep MPM
-D APACHE_MPM_DIR="server/mpm/prefork"
>>Läuft das über mod_php oder php über CGI?
mod_php5
>>Welcher Prozess benötigt am meisten Arbeitsspeicher?
mysqld benötigt als einzelner Prozeß am meisten, aber die Summe der httpd-Prozesse benötigt bei weitem das Gros des RAMs.
>>Wird ein PHP Accelerator eingesetzt?
Nein, was ist ein PHP Accellerator?
>>Wieviele simultane Anfragen sind es zu Spitzenzeiten?
ca. 140.000 Hits pro Stunde.
Cheers,
Tom.
- 07 Feb 2007, 11:03 am
-
Sascha Teifke Premium MemberThe company name is only visible to registered members.Re^3: Welche Hardware für gut besuchtes Webangebot?
Hallo!
IMHO müsste ein Apache dies bewältigen können, aber ich habe keine Server mit einer solchen Auslastung.
Ich möchte dennoch meine Tipps loswerden, vielleicht bekommen wir es ja in den Griff ohne die Hardware auszutauschen.
>> Mit welchem MPM läuft der Apache?
/usr/sbin/httpd2 -V | grep MPM
-D APACHE_MPM_DIR="server/mpm/prefork"
Die prefork-MPM verwendet mehrere Child-Prozesse mit je einem Thread. Jeder Prozess bearbeitet genau eine Verbindung. Er benötigt bei meist identischer Geschwindigkeit mit dem worker MPM mehr Speicher.
Beim worker-MPM werden mehrere Child-Prozesse mit mehreren Threads gestartet. Jeder Thread handelt eine Verbindung. Dieser MPM wird für High Traffic Installationen empfohlen, da er weniger Speicherlastig ist.
Das wäre meine erste Empfehlung: Wechsle nach Möglichkeit von der prefork-MPM auf die worker-MPM. Dadurch könnten die gröbsten Mem.-Probleme schon vom Tisch sein. Beachte auch die Performance Hinweise für die Einstellungen der "Process Creation" - Sektion der Apache Performance Tuning Doku.
http://httpd.apache.org/docs/2.0/misc/perf-tuning.html
>>Läuft das über mod_php oder php über CGI?
mod_php5
Wenn Du Dich entscheiden solltest die worker MPM einzusetzen musst Du auf den Einsatz von mod_php5 verzichten. Dieses Modul scheint nicht 100%ig Thread Safe zu sein. Als Ersatz bietet sich das fastcgi Modul an, welches Geschwindigkeitsmäßig an mod_php5 herankommt oder gar noch schneller läuft.
>>Welcher Prozess benötigt am meisten Arbeitsspeicher?
mysqld benötigt als einzelner Prozeß am meisten, aber die Summe der httpd-Prozesse benötigt bei weitem das Gros des RAMs.
Soweit ich weiss nutzt Postnuke Adodb für die Datenbankzugriffe. Für Adodb gibt es ein Apache Modul,
welches die Performance der Datenbankzugriffe erhöht. Auch dies könnte zur Entlastung der Gesamtsituation beitragen.
>>Wird ein PHP Accelerator eingesetzt?
Nein, was ist ein PHP Accellerator?
Ein PHP Accelerator beschleunigt die Ausführung von PHP-Scripts z.B. dadurch, dass er bereits interpretierte Scripts cached ohne die dynamik dadurch negativ zu beeinflussen. Bekannte PHP Acceleratoren/Caches sind z.B.
ionCube PHP Accelerator, APC, Zend Optimizer, eAccelerator, u.v.m.
Bei der Auswahl ist die passende PHP Version und natürlich die Kompatibilität zum Apache worker MPM zu beachten.
Alles in allem sind das keine trivialen Umbauarbeiten am Server, ich bin aber überzeugt, dass die bestehende Hardware mit entsprechender Konfiguration dem Ansturm gewachsen ist.
- 07 Feb 2007, 7:41 pm
-
Thomas Wittbecker Premium MemberThe company name is only visible to registered members.Re^4: Welche Hardware für gut besuchtes Webangebot?
Hallo zusammen,
bei 65T PIs liegt das Problem nicht an der HW bei 4 GB RAM. Der Einsatz eines PHP Accelerator wird eine große Entlastung bringen.
Gruß
Thomas Wittbecker
- 08 Feb 2007, 11:14 am
-
Thomas Verbeek Premium MemberThe company name is only visible to registered members.Re^4: Welche Hardware für gut besuchtes Webangebot?
Ich möchte mich für die Informationen und guten Tipps bedanken. ich werde mich noch ein wenig in das Thema einlesen und dann den Umstieg auf 'Worker MPM' vornehmen.
Cheers,
Tom.
- 08 Feb 2007, 11:32 am
-
Thomas Verbeek Premium MemberThe company name is only visible to registered members.Re^5: Welche Hardware für gut besuchtes Webangebot?
Hier noch mal ein kurzes Feedback:
Umstellung auf Worker MPM war nicht möglich, wegen den o.b. Threading-Problemen.
Wir haben allerdings eine extreme Performancesteigerung erreicht, indem wir MSQL mit dem tuning-primer.sh script auf den benötigten Speicherverbrauch eingestellt haben. Durch Überallokation sind wir desöfteren stark ins Swapping geraten.
Auf beim Apache2 habe ich einige Perfomance-optimierungen vorgenommen:
# number of server processes to start
StartServers 5
# minimum number of server processes which are kept spare
MinSpareServers 3
# maximum number of server processes which are kept spare
MaxSpareServers 5
# highest possible MaxClients setting for the lifetime of the Apache process.
ServerLimit 200
# maximum number of server processes allowed to start
MaxClients 40
# maximum number of requests a server process serves
MaxRequestsPerChild 8000
Schlußendlich habe ich noch den eAccelerator installiert, was die CPU-Last weiter gesenkt hat.
- 08 Mar 2007, 12:22 pm
-
Sascha Teifke Premium MemberThe company name is only visible to registered members.Re^6: Welche Hardware für gut besuchtes Webangebot?
Hallo Tom,
freut mich, dass es jetzt läuft!
Vielen Dank für das Feedback und die Anregungen!
Grüße
Sascha
- 08 Mar 2007, 12:28 pm
-
Andreas Krapohl Group moderatorThe company name is only visible to registered members.Re^6: Welche Hardware für gut besuchtes Webangebot?
Neben der Serverseite sind ggfs. auch auf der Applikationsseite bei PostNuke noch einige Optimierungen möglich - gerade was das Caching angeht bietet das verwendete Smarty-Templating durchaus interessante Möglichkeiten.
Das Forum bei
http://support.pn-cms.de sollte da eine gute Anlaufstelle sein.
- 09 Mar 2007, 11:23 pm
