PHP & Dualcore

Die eigentliche Frage scheint unbeantwortet geblieben: Unterstuetzt PHP dualcore/multicore? Ich weiss nicht genau wie's ist wenn du PHP als Apache-modul einrichtest, aber sonst wird ja jedes mal der php interpreter gestartet (korrigiert mich wenn ich falsch lieg). Sollte das OS den dualcore korrent erkennen werden die php prozesse also auf die cores verteilt und PHP profitiert. Das gleiche gilt uebrigens auch fuer MS-Office ;)
 
So lange der Kernel nicht dualfähig ist, wird er auch nur die "halbe CPU" nutzen.
Folglich können Anwendungen auch nur die "halbe CPU" nutzen.
Erste Anlaufstelle ist also der Kernel..... und der muss von Haus aus nicht zwangsweise auf mehrere CPU's ausgelegt (kompiliert) sein.
Ich weiss nicht in wiefer der Kernel zwischen mehreren CPU Kernen und mehreren echten CPU's unterscheidet, aber ein aktueller Kernel währe hier sicherlich angebrachter.
Ich denke auch nicht dass der Kernel in beiden Kernen sein "Unwesen" treibt, sondern selbst nur in einem Kern läuft und lediglich den Anwendungen sagt in welchem Kern sie laufen soll.
PHP als Modul wird das System also wahrscheinlich eher ausbremsen (da ja von Apache abhängig).
PHP als CGI währe wieder eine eigenständige Anwendung..... der Kernel könnte also zu Apache sagen "Du läufst jetzt in Kern 1" und zu PHP "Du läufst jetzt in Kern 2" (je nach "Auslastung" der Kerne).

Eine konkrete Aussage scheint es wohl nicht zu geben.
Warum eigentlich nicht?
DualCore gibt es doch eigentlich schon lange genug, um Ausagen aus dem "Praxisalltag" bekommen zu können.

Ausserdem ist ncurses im Grunde eh Teil jedes Systems und somit wohl keine Huerde.
Ich musste ncurses (wie so vieles andere auch) erst nachinstallieren. ;)
 
Zuletzt bearbeitet:
Die eigentliche Frage scheint unbeantwortet geblieben: Unterstuetzt PHP dualcore/multicore? Ich weiss nicht genau wie's ist wenn du PHP als Apache-modul einrichtest, aber sonst wird ja jedes mal der php interpreter gestartet (korrigiert mich wenn ich falsch lieg). Sollte das OS den dualcore korrent erkennen werden die php prozesse also auf die cores verteilt und PHP profitiert. Das gleiche gilt uebrigens auch fuer MS-Office ;)
Im Grunde hab ich dies ja bereits in meinem ersten Post angesprochen. ;)
Das wird, wenn ueberhaupt von was anderem als der CPU, wohl mehr vom Betriebssystem abhaengig sein als von PHP selbst. Ich hab z.B. noch keine DualCore-Version von MS Office gesehen. ;)

PHP als Modul wird das System also wahrscheinlich eher ausbremsen (da ja von Apache abhängig).
PHP als CGI währe wieder eine eigenständige Anwendung..... der Kernel könnte also zu Apache sagen "Du läufst jetzt in Kern 1" und zu PHP "Du läufst jetzt in Kern 2" (je nach "Auslastung" der Kerne).
Hier waere es interessant ob nur verschiedene Prozesse oder auch verschiedene Threads auf die verschiedenen CPUs/Kerne verteilt werden koennen. Je nach Worker-Modul (seit Apache2 gibt es da ja verschiedene, welche sich fuer unterschiedliche Situationen eignen) werden ja bereits beim Start eine Reihe von Apache-Prozessen oder -Threads angelegt, in denen dann ja auch das PHP-Modul beheimatet ist. In jedem Fall wuerde ich weiterhin auf PHP als Modul und nicht als CGI setzen.
Es ist hier halt nur ratsam sich dann damit auseinander zu setzen welches der Worker-Module fuer den Einsatz auf Multi-CPU- oder Multi-Core-Systemen am besten geeignet ist. Und dazu sollte sich durchaus was im Internet finden lassen.
Ich musste ncurses (wie so vieles andere auch) erst nachinstallieren. ;)
Ich koennte mir vorstellen, dass ncurses (also die Libraries) bereits da waren, Du aber noch die Header (also das Dev-Paket, wie es bei vielen Distros so schoen heisst) brauchtest. ;)
 
Hallo,

Hier waere es interessant ob nur verschiedene Prozesse oder auch verschiedene Threads auf die verschiedenen CPUs/Kerne verteilt werden koennen.
Es ist zumindest definitiv möglich und auch so gedacht, dass die Threads eines einzigen Prozesses auf verschiedene Kerne (oder physikalische CPUs) verteilt werden können. Ob der (aktuelle) Linux-Kernel das unterstützt, weiß ich leider nicht. Ich gehe aber stark davon aus.

Grüße,
Matthias
 
Vielleicht find ich am Wochenende was Zeit und Motivation was durch die Kernel-Doku zu wandern und auch was ueber die Worker vom Apache zu lesen.
Will ja dieses Jahr auf AMD64 X2 gehen (dann mit 2GB RAM) und da wird das dann auch relevant sowas.
 
Zurück