Hallo,
ich muss etwas programmieren und wollte mal fragen ob sich PHP dafür überhaupt eignet. Und zwar geht es um ein PHP Script, dass Datensätze / Zeilen in eine Datei schreiben soll... die Daten setzen sich dabei aus zwei - drei SELECTS (pro ausgegebener Zeile!) aus einem Microsoft SQL Server zusammen. Das können dann 1500+ Zeilen werden...
Ich hab schon etwas rumprogrammiert und bekam dann nach 30 Sekunden einen Time Out. Hab den dann in der php.ini hochgestellt, hat aber letztendlich auch nicht viel gebracht, da ich nach fünf Minuten einen CGI Timeout bekommen habe (IIS). Ich hab gerade mal ein bischen gegoogelt und gesehn, dass man den wohl auch hochsetzen kann.
Ich mach mir jetzt trotzdem ein bischen Gedanken ob PHP dafür überhaupt die richtige Wahl war. Das Problem ist, dass die Sache schnell fertig sein muss und ich mich mit PHP noch am besten auskenne. Würde ich, dass mit JAVA programmieren würde es sicher um einiges länger dauern.
Daher meine Frage -> Kann man das mit PHP gut durchziehen, oder ist es eine absolut falsche Wahl für so ein Script?
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] PHP Script mit langer Laufzeit
Einklappen
Neue Werbung 2019
Einklappen
X
-
[Erledigt] PHP Script mit langer Laufzeit
Stichworte: -
-
ich glaube eher, dass die datenbank mal wieder nicht ordentlich indiziert ist.... 1500 zeilen aus einer datenbank zu holen sollte unter 1 sekunde dauern. darüberhinaus kann ich mir keinen einzigen sinnvollen grund vorstellen, nochmal je zwei selects innen zu machen, wenn man JOIN hat... außerdem könnte man direkt in der datenbank ein VIEW aufbauen, um die unter-anfragen nicht mit php machen zu müssen, oder eine temporäre tabelle verwenden....
alles in allem halte ich aufgrund der bisherigen angaben das problem für innerhalb von 5 sekunden machbar, wahrscheinlich sogar schneller.
-
Ein Gast antworteteZitat von xabbuhZitat von SaraneusPer Browser hilft ihm das nichts, wenn der Browser einen Timeout liefert.
Einen Kommentar schreiben:
-
Ein Gast antwortetehuh? Erklären bitte :wink:
Einen Kommentar schreiben:
-
Ein Gast antworteteMan könnte das Script auch im Hintergrund laufen lassen, sodass der Browser ganz normal weiter läuft.
Einen Kommentar schreiben:
-
Wenn dus mit den genannten Funktionen schneller hinkriegst als ohne PHP, dann ist PHP dafür geeignet
Der Zweck heiligt die Mittel.
Einen Kommentar schreiben:
-
Zitat von SaraneusPer Browser hilft ihm das nichts, wenn der Browser einen Timeout liefert.
Einen Kommentar schreiben:
-
Ein Gast antworteteEs gab einen CGI Timeout, dass kann man aber wohl auch hochstellen. Hab schon was gefunden...
Ich will nur mal wissen ob PHP für dieses "Projekt" geeignet ist, oder ob PHP damit überlastet ist... also 1500 Zeilen durchzurattern (Datei auslesen) + 2 Selects + in eine Datei schreiben usw. Darum gehts mir...
Einen Kommentar schreiben:
-
Ein Gast antworteteZitat von ZerglingNotfalls:
http://php3.de/set-time-limit
Einen Kommentar schreiben:
-
Ein Gast antworteteKannst du's per CLI machen? Dann gäb's ein set_time_limit(0);
Einen Kommentar schreiben:
-
Ein Gast antworteteAlso ich habe eine Ausgangsdatei in der in jeder Zeile verschiedene Nummern stehen. Abhängig von den Zeilen in dieser Datei läuft dann mein Script. Das können allerdings jede Menge Zeilen werden, wie gesagt: 1500+
Ich nehme dann aus jeder Zeile eine Nummer und mache abhängig von der einen SELECT auf die erste Tabelle. Dort hole mir dann Daten raus und mit einem Wert von diesen Daten gehe ich auf die nächste Tabelle. Ich sammel mir also Daten zusammen, die dann später als Datensatz / Zeile in eine neue Datei geschrieben werden. Das mache ich dann für jede Zeile und wie gesagt: Das Script läuft länger als 5 Minuten.
Ich könnte sicher auch einen SELECT daraus machen, aber würde das dann viel schneller laufen?
Würde aber allgemein mal gerne wissen ob PHP damit nicht überlastet ist... bzw. die falsche Wahl.
Einen Kommentar schreiben:
-
Kannst du die Informationen denn nicht mit wenigen SELECTs komplett aus der DB holen (also z.B. ohne Bedingung) und in einen Array lesen, auf den du dann eben 2-3x pro Zeile zugreifst?
Wir brauchen ein paar Infos mehr, wenn wir dir wirklich helfen sollen. Welche Daten stehen wie in der DB und welche brauchst du pro Zeile?..
Einen Kommentar schreiben:
Einen Kommentar schreiben: