Grundsätzliche Frage zur Leistung von PHP?
Christian
- php
0 Sven Rautenberg0 Marko0 Christian
Hallo.
Man nehme an man hätte eine Datenbank auf MySQL-Basis mit mehreren Tausend Datensätzen. Dieses soll nun mit PHP Datensatz für Datensatz (Schleife)durchgearbeitet und werden.
Frage 1:
Hat man da Probleme mit der "max_execution_time" ?
Frage2:
In welchem Ausmaß wäre ein Webserver belastet.
Frage 3:
Was kann man während der Verarbeitung überhaupt noch auf dem Webserver machen?
Schöne Grüße,
Christian
Moin!
Hallo.
Man nehme an man hätte eine Datenbank auf MySQL-Basis mit mehreren Tausend Datensätzen. Dieses soll nun mit PHP Datensatz für Datensatz (Schleife)durchgearbeitet und werden.
Es hängt davon ab, was gemacht werden soll.
Frage 1:
Hat man da Probleme mit der "max_execution_time" ?
Unter Umständen ja.
Frage2:
In welchem Ausmaß wäre ein Webserver belastet.
Hängt von der zu erledigenden Aufgabe ab.
Frage 3:
Was kann man während der Verarbeitung überhaupt noch auf dem Webserver machen?
Alles, was geht.
Die Antworten sind unkonkret, weil die Fragen unkonkret sind. Logischerweise hängt eine Menge von der Ausstattung des Servers ab. Wenn ich auf meinem häuslichen Testserver mit PHP Thumbnails erstellen lasse, kackt der mir bei 8 oder 10 parallelen Prozessen total ab, weil nur 32 MB Speicher drin sind. 4 Bilder parallel hingegen gehen - dauern aber ewig (Pentium 90), weshalb ich ein Caching eingebaut habe, was die Sache erheblich beschleunigt.
Hier auf dem Selfserver hingegen würde diese kleine Aufgabe wohl kaum ins Gewicht fallen. Da sind es viel eher die Selfsuche und das Forum, welches die Performance ziemlich zu Boden ziehen können. Trotzdem laufen so grob 200 Prozesse parallel, in erster Linie Apache-Prozesse. Und es funktioniert alles.
- Sven Rautenberg
Hallo,
Man nehme an man hätte eine Datenbank auf MySQL-Basis mit mehreren Tausend Datensätzen. Dieses soll nun mit PHP Datensatz für Datensatz (Schleife)durchgearbeitet und werden.
erste Überlegung, ist das wirklich nötig ? Oder lässt sich die Verarbeitung vielleicht durch ein geschicktes SQL Statement komplett auf der Datenbank erledigen ?
Frage 1:
Hat man da Probleme mit der "max_execution_time" ?
Kann passieren, lässt sich aber pauschal nicht beantworten (wieviel sind mehrere Tausend Datensätze ? 3000 oder 30000 ? Was wird gemacht ? Wieviel Rechenzeit braucht man pro Datensatz ? Die max_execution_time lässt sich beliebig hochsetzen.
Frage2:
In welchem Ausmaß wäre ein Webserver belastet.
Siehe Antwort oben, pauschal nicht beantwortbar. Mein Tip wäre ausprobieren, ein paar Tests auf einem lokalen System machen, und dabei die CPU Last, den Speicher, etc... monitoren.
Frage 3:
Was kann man während der Verarbeitung überhaupt noch auf dem Webserver machen?
Da ein Webserver meistens unter einem vernünftigen OS läuft (z.B. Linux), das ein ordentliches Multitasking ermöglicht kann der Server im allgemeinen weiterarbeiten, erst mehrere Aufrufe die so lang laufende Prozesse (oder Threads) auslösen parallel laufen kann es kritisch werden (ab wann hängt auch schwer davon ab was die Prozesse machen).
Grüße
Marko
Hallo.
Danke für die schnelle Response.
Die ungenauen Fragen kommen daher, das ich auch nur sehr ungenau über das Szenario informiert worden bin.
Es gilt wieder mal: probieren geht über studieren.