Apache Umgebung (php, sql, fastcgi...)
Apache Umgebung (php, sql, fastcgi...)
Hallo,
Ich bin dabei eine größere Webserver Umgebung zu bauen und bin dabei auf das FastCGI-Tutorial gestossen.
Dieses ist wirklich sehr gut erklärt.
Meine Frage ist nun, ob sich diese Lösung auf für ein größeres Umfeld eignet und wie es von der Performance her aussieht?
Dabei sind auf zwei Server ca. 200 - 500 Webs aufgeteilt. Die Anforderungen an die Resourcen sind hier bei jedem Web unterschiedlich. (Soll hier für jedes Web eigene FCGI-Kinder definiert werden?)
Damit ist nicht so langweilig wird, muss ich auch zwei unterschiedliche PHP-Versionen verwenden (4.3/4.4 + 5.1)
Hat jemand von Euch Erfahrung mit Umgebungen dieser Größenordnung, oder event. mit noch größeren Umgebungen?
Vielen Dank für Euer Feedback
lg
Tomi
Ich bin dabei eine größere Webserver Umgebung zu bauen und bin dabei auf das FastCGI-Tutorial gestossen.
Dieses ist wirklich sehr gut erklärt.
Meine Frage ist nun, ob sich diese Lösung auf für ein größeres Umfeld eignet und wie es von der Performance her aussieht?
Dabei sind auf zwei Server ca. 200 - 500 Webs aufgeteilt. Die Anforderungen an die Resourcen sind hier bei jedem Web unterschiedlich. (Soll hier für jedes Web eigene FCGI-Kinder definiert werden?)
Damit ist nicht so langweilig wird, muss ich auch zwei unterschiedliche PHP-Versionen verwenden (4.3/4.4 + 5.1)
Hat jemand von Euch Erfahrung mit Umgebungen dieser Größenordnung, oder event. mit noch größeren Umgebungen?
Vielen Dank für Euer Feedback
lg
Tomi
-
- Posts: 8
- Joined: 2006-08-15 21:13
Re: Apache Umgebung (php, sql, fastcgi...)
200 - 500 Websites pro Server??? Das ist eine totale Überlastung, es sei denn du hast unbezahlbare Hightech-Hardware.
FCGI ist sehr, sehr schnell. Ja, es spawnt etliche Kinder. Ich würde PHP selbst kompilieren, das ermöglicht eine optimale Anpassung & Kontrolle der ganzen Geschichte. Aber ob das alles für ein Umfeld DIESER Grössenordnung ausgelegt ist, wage ich zu bezweifeln... Da wirste mit Sicherheit Probleme bekommen
Du wirst hier mit Sicherheit Leute finden, die ähnlich viele Dinge unter den Fittichen haben, aber garantiert niemanden der dies auf so wenige Server konzentriert! Das ist purer Selbstmord... jeder fähige Admin wird das anders machen
Übrigens wirst du mit der Bezeichnung "Web" für "Websites" nicht besonders weit kommen, externes Gelächter inklusive :-D.
FCGI ist sehr, sehr schnell. Ja, es spawnt etliche Kinder. Ich würde PHP selbst kompilieren, das ermöglicht eine optimale Anpassung & Kontrolle der ganzen Geschichte. Aber ob das alles für ein Umfeld DIESER Grössenordnung ausgelegt ist, wage ich zu bezweifeln... Da wirste mit Sicherheit Probleme bekommen
Du wirst hier mit Sicherheit Leute finden, die ähnlich viele Dinge unter den Fittichen haben, aber garantiert niemanden der dies auf so wenige Server konzentriert! Das ist purer Selbstmord... jeder fähige Admin wird das anders machen
Übrigens wirst du mit der Bezeichnung "Web" für "Websites" nicht besonders weit kommen, externes Gelächter inklusive :-D.
Haste mal ein paar Webs? :arrow: Äh... Gibbet nur eins, und das kriegste durchs Modem!
Re: Apache Umgebung (php, sql, fastcgi...)
Hallo,
danke erstmal:
web ist in meinem sprachgerbauch ein übliches (umgangssprachliches) wort im zusammenhang mit websites. ich komme aber auch nicht aus deutschland.
ich habe vergessen zu erwähnen, dass a.) die hardware natürlich high end ist und b.) auf 2 physikalischen servern sich einige apache-instanzen tummeln, die für einie web(sites) zuständig sind, wobei es nicht bei 2 servern bleiben wird.
(wieder umgangssprachlich: server = phys. maschine)
c.) darfst du nicht vergessen, dass manager dass ganze berechnen müssen... wenn jede webseite gleichzeitig von 100 clients aufgerufen wird, dann steht das ding natürlich und eswird zu problemen kommen.... aber ähnlich wie es bei flügen zu überbuchungen kommt, so wird auch hier nicht davon ausgegangen, dass alle webseiten gleichzeitig serviciert werden müssen.
ob das die richtige vorgehensweise ist, wage ich zu bezweifeln. aber ich bezahle die maschinen nicht.
also stelle ich meine frage nochmal anders :-)
Apache hat einige Webseiten. Eine Maschine hat mehrere Apache Instanzen. Wenn jetzt für jede Webseite einige fcgi-Prozesse gestartet werden, bekommt dann die Maschine nicht im Vorhinein schon Probleme mit dem Speicher, oder sollte das schon in Ordnung gehen?
lg
tomi
danke erstmal:
web ist in meinem sprachgerbauch ein übliches (umgangssprachliches) wort im zusammenhang mit websites. ich komme aber auch nicht aus deutschland.
ich habe vergessen zu erwähnen, dass a.) die hardware natürlich high end ist und b.) auf 2 physikalischen servern sich einige apache-instanzen tummeln, die für einie web(sites) zuständig sind, wobei es nicht bei 2 servern bleiben wird.
(wieder umgangssprachlich: server = phys. maschine)
c.) darfst du nicht vergessen, dass manager dass ganze berechnen müssen... wenn jede webseite gleichzeitig von 100 clients aufgerufen wird, dann steht das ding natürlich und eswird zu problemen kommen.... aber ähnlich wie es bei flügen zu überbuchungen kommt, so wird auch hier nicht davon ausgegangen, dass alle webseiten gleichzeitig serviciert werden müssen.
ob das die richtige vorgehensweise ist, wage ich zu bezweifeln. aber ich bezahle die maschinen nicht.
also stelle ich meine frage nochmal anders :-)
Apache hat einige Webseiten. Eine Maschine hat mehrere Apache Instanzen. Wenn jetzt für jede Webseite einige fcgi-Prozesse gestartet werden, bekommt dann die Maschine nicht im Vorhinein schon Probleme mit dem Speicher, oder sollte das schon in Ordnung gehen?
lg
tomi
-
- Posts: 8
- Joined: 2006-08-15 21:13
Re: Apache Umgebung (php, sql, fastcgi...)
Das kannst du selbst festlegen, indem du die Anzahl der fcgi-Kinder vorgibst:
PHP_FCGI_CHILDREN=DEINEZAHL
export PHP_FGCI_CHILDREN
danach alle Webserver neustarten. Standardmässig sind 8 Childs am laufen, und diese verursachen nur dann Systemlast wenn Clients darauf zugreifen (!)
PHP_FCGI_CHILDREN=DEINEZAHL
export PHP_FGCI_CHILDREN
danach alle Webserver neustarten. Standardmässig sind 8 Childs am laufen, und diese verursachen nur dann Systemlast wenn Clients darauf zugreifen (!)
-
- Posts: 207
- Joined: 2005-06-02 11:58
Re: Apache Umgebung (php, sql, fastcgi...)
Und weiter? Nicht jeder hat einen 25€ Rootie der mit sowas überlastet ist. Wir hosten derzeit auf einem Athlon FX System bis zu 5.000 User-Directories. Zusätzlich verarbeitet das MySQL-System 25.000 Datenbanken -> die Systemload ist durchschnittlich bei 2.5 - 3.200 - 500 Websites pro Server???
Also: es ist alles eine Frage der Relation.
-
- Posts: 88
- Joined: 2006-06-10 14:17
Re: Apache Umgebung (php, sql, fastcgi...)
Wie ist das eigentlich mit Apache und fcgi, ich hatte früher immer gehört, dass es etwas steifmütterlich behandelt wird und dementsprechend nicht so prickelnd läuft. Sehe FCGI daher immer bei anderen Webservern die nicht für jede Programmiersprache ein Modul schreiben/pflegen könen/wollen.
FCGI ist jedenfalls nicht langsamer als Apache+mod_php (AFAIK), ob es unbedingt schneller ist... .
Der Vorteil dürfte einerseits bei der Flexibilität mit den Rechten liegen*. Und/Oder andererseits beim Speicherverbrauch - jedenfalls dann wenn dynamische und statische Inhalte vom selben Webserver bedient werden (denn dann bedienen die dickeren Apacheprozesse ja auch die statischen Requests mit).
* Falls jedes "web" mit anderem Benutzer laufen soll, dürfest du bei x hunderten web natürlich Unmengen mehr an Speicher brauchen, da ja für jedes web eine eigene PHP Instanz laufen würde, wiederum mit ein paar Childs. da kommt schnell das eine oder andere GB zusammen. Gerade wenn es viele webs und alle mit sehr wenig Traffic ist, macht das wohl nur wenig Sinn, wenn RAM ein Flaschenhals ist.
FCGI ist jedenfalls nicht langsamer als Apache+mod_php (AFAIK), ob es unbedingt schneller ist... .
Der Vorteil dürfte einerseits bei der Flexibilität mit den Rechten liegen*. Und/Oder andererseits beim Speicherverbrauch - jedenfalls dann wenn dynamische und statische Inhalte vom selben Webserver bedient werden (denn dann bedienen die dickeren Apacheprozesse ja auch die statischen Requests mit).
* Falls jedes "web" mit anderem Benutzer laufen soll, dürfest du bei x hunderten web natürlich Unmengen mehr an Speicher brauchen, da ja für jedes web eine eigene PHP Instanz laufen würde, wiederum mit ein paar Childs. da kommt schnell das eine oder andere GB zusammen. Gerade wenn es viele webs und alle mit sehr wenig Traffic ist, macht das wohl nur wenig Sinn, wenn RAM ein Flaschenhals ist.
-
- Posts: 538
- Joined: 2005-09-02 11:12
Re: Apache Umgebung (php, sql, fastcgi...)
In letzterem Fall startet man halt für die kleineren Webinstanzen nur wenige Fcgi Childs.
Der größte Vorteil ist imho die Möglichkeit PHPfcgi mit SuExec zu nutzen, in wie weit sich das von mod_suphp abhebt weiß ich allerdings nicht.
Der größte Vorteil ist imho die Möglichkeit PHPfcgi mit SuExec zu nutzen, in wie weit sich das von mod_suphp abhebt weiß ich allerdings nicht.
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Apache Umgebung (php, sql, fastcgi...)
Durch Speicherpersistenz. SuPHP entspricht im Wesentlichen mod_cgi+mod_suexec, d. h. es wird für jeden Request ein neuer Prozess gestartet.rootsvr wrote:Der größte Vorteil ist imho die Möglichkeit PHPfcgi mit SuExec zu nutzen, in wie weit sich das von mod_suphp abhebt weiß ich allerdings nicht.
-
- Posts: 8
- Joined: 2006-08-15 21:13
Re: Apache Umgebung (php, sql, fastcgi...)
Mach ma nen Ping auf diesen Server.. wenn er niedriger als 150 ist hast du gerade die Gesetze der Physik gebrochen 8O . Ich habe übrigens auch keinen 25€-Server, und trotzdem is das ned möglich.. Ebenfalls Athlon FX mit 1 GB RAM, 320 GB Plattenspeicher usw usw... alles von feinsten (obwohl die RAM mehr sein könnten)djcrackman wrote:Und weiter? Nicht jeder hat einen 25€ Rootie der mit sowas überlastet ist. Wir hosten derzeit auf einem Athlon FX System bis zu 5.000 User-Directories. Zusätzlich verarbeitet das MySQL-System 25.000 Datenbanken -> die Systemload ist durchschnittlich bei 2.5 - 3.200 - 500 Websites pro Server???
Also: es ist alles eine Frage der Relation.
Und die 25000 bei MySQL klingt auch mehr als unwahrscheinlich, entweder sind alle Websites und Datenbanken praktisch leer oder........ Ich kann dir Systeme zeigen, die mit ca. 10 Datenbanken bereits überfordert sind (trotz guter Hardware)
:arrow: Wenn du ca. 0 Aktivität auf den Sites und den Datenbanken hast dann is das natürlich was anderes...
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
Re: Apache Umgebung (php, sql, fastcgi...)
1. 150 Milimeter? 150 nackte Friseusen?Mach ma nen Ping auf diesen Server.. wenn er niedriger als 150 ist hast du gerade die Gesetze der Physik gebrochen
2. Was willst du uns grundsätzlich damit sagen? Was hat ein "ping" mit der Leistungsfähigkeit eines einzelnen Systems zu tun?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
- Posts: 207
- Joined: 2005-06-02 11:58
Re: Apache Umgebung (php, sql, fastcgi...)
@tha_specializt
Der mysqld hat allerdings erst eine Uptime von 8 Tagen. Noch Fragen?
Code: Select all
...>tracert 85.124.188.36
Routenverfolgung zu buzz.uttx.net [85.124.188.36] über maximal 30 Abschnitte:
1 <1 ms <1 ms <1 ms 10.0.0.254
2 7 ms 7 ms 7 ms 172.25.46.23
3 8 ms 8 ms 7 ms schl-vl-00-003.josemic.klgf.inode.at [62.99.170.41]
4 55 ms 41 ms 99 ms vie2-vl-00-981.shuttle.vien.inode.at [62.99.170.105]
5 11 ms 11 ms 11 ms self-gb-02-002.shuttle.vien.inode.at [62.99.171.66]
6 11 ms 11 ms 11 ms buzz.uttx.org [85.124.188.36]
Ablaufverfolgung beendet.
Code: Select all
# uptime
20:31:08 up 16 days, 22:50, 1 user, load average: 1.53, 1.44, 1.37
Code: Select all
# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 7
model name : AMD Athlon(tm) 64 FX-53 Processor
stepping : 10
cpu MHz : 2388.164
cache size : 1024 KB
[...]
bogomips : 4788.88
Code: Select all
# free -m
total used free shared buffers cached
Mem: 3533 3265 267 0 98 2152
-/+ buffers/cache: 1013 2519
Swap: 3922 0 3922
Code: Select all
# ps auxf
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
[...]
mysql 23492 0.0 5.1 1201348 185552 ? S Aug08 1:22 /opt/mysql_max_5.0.22_i686/bin/mysqld --basedir=/opt/mysql_max_
[...]
root 12472 0.0 1.2 59420 46148 ? Ss Aug13 2:43 /opt/apache_1.3.37_php4/bin/httpd
[...]
root 12609 0.1 1.7 79864 64776 ? Ss Aug13 5:54 /opt/apache_1.3.37_php5/bin/httpd
[...]
root 14003 0.0 0.8 44456 30208 ? Ss Aug15 1:04 /opt/apache_1.3.37_php504/bin/httpd
[...]
root 14994 0.0 0.2 22084 8176 ? Ss Aug15 0:00 /opt/apache_1.3.37_sys/bin/httpd
[...]
Code: Select all
mysql> show databases;
+-----------------------------+
| Database |
+-----------------------------+
| [...] |
+-----------------------------+
25823 rows in set (0.54 sec)
mysql>
Code: Select all
# Abfragestatistik: Seit seinem Start wurden 22.196.857 Abfragen an diesen MySQL-Server gesandt.
Insgesamt ø pro Stunde ø pro Minute ø pro Sekunde
22.196.857 110.315,19 1.838,59 30,64
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Apache Umgebung (php, sql, fastcgi...)
Hoffen wir, dass du durch diese Nachforschung jetzt keinen Herzinfarkt bei ihm verursachst...
-
- Posts: 561
- Joined: 2003-02-01 13:14
- Location: Fuldatal
Re: Apache Umgebung (php, sql, fastcgi...)
Das glaube ich nicht, der Name kommt mir aus anderen Foren bekannt vor und da hat er ordentlich getrollt :lol:
EDIT: Genau, im debianforum.de habe ich von ihm gelesen :P
EDIT: Genau, im debianforum.de habe ich von ihm gelesen :P
-
- Posts: 207
- Joined: 2005-06-02 11:58
Re: Apache Umgebung (php, sql, fastcgi...)
[ot]Mir gehts es mittlerweile schwer am Keks, dass jeder sich selbst als Maßstab sieht. Auch wenn einer einen 100€ Rootie hat, so wird er damit nie Leistungsstiefen erreichen, welche andere mit selbst gebauten Servern erreichen. Selbst auf einem 50€ Rootie sollt man 500-1000 Kunden unterbringen können, ohne dass die Performance im Sumpf verschwindet. Zumindest bin ich das von unseren (österreichischen) Rootserver-Anbietern so gewohnt. Da ist der kleinste Rootie ein Celeron mit 3Ghz und 512MB Ram -> mit entsprechendem Softwaretuning kriegt man da 500 Kunden rauf -> und da merkt keiner von denen etwas, dass da 499 andere drauf sind.[/ot]