Lieber T-Rex,
Ich will auch keinen Flaschenhals suchen
warum nicht? Bist Du sicher, dass Du nirgendwo einen hast?
Es geht hier auch nicht mehr um eine effektivere Programmierung.
Und wenn jetzt Dein Problem aber genau daran hängt? Bist Du so gut im Programmieren, dass Du hier ganz sicher und mit Bestimmtheit sagen kannst, dass hier bereits alles an Konzepten und Vorgehensweisen ausgereizt ist? Vielleicht liegt ja zu unser aller Überraschung doch vielleicht genau dort ein Flaschenhals?
Ich dachte da an sowas naives wie den Arbeitsspeicher hochdrehen.
Hmm, mit naiv kommen wir da ganz sicher nicht sinnvoll weiter. Mehr Arbeitsspeicher hilft nur dann, wenn der offensichtlich zu knapp geworden ist (out of memory error).
Gibts sowas auch für die CPU? Hier sind 8 Kerne und ich hab das Gefühl, dass nicht mal ein halber benutzt wird.
Der Apache zieht sich genau die Leistung, die er benötigt. Probiere doch einmal das hier und beobachte im Task-Manager, was passiert:
while (true) {
file_put_contents(
'./endlos.txt',
"- eine neue Zeile\r\n",
FILE_APPEND
);
}
Das sollte theoretisch auf einem Kern 100% Last erzeugen. Naja, heute tut es das vielleicht nicht mehr, mit PHP 4 hat es das aber damals getan. Weil das nicht auf mehrere Kerne aufgeteilt abgearbeitet werden kann, wird es nur einen Kern belasten. Mehrere zeitnahe Requests können durchaus auf unterschiedlichen Kernen abgearbeitet werden. Das kann man aber php-seitig nicht aus einem Script heraus beeinflussen, denn das regelt meines Wissens der Apache dynamisch.
Vielleicht stelle ich mir das auch zu einfach vor...
Dann ist das vielleicht ein Indiz dafür, dass Du uns vielleicht doch eine Kostprobe von Deinem PHP-Code geben solltest, damit man erkennen kann, warum das nicht so flutscht, wie Du das gerne hättest.
Liebe Grüße
Felix Riesterer