Maximale Ausführungszeit von PHP nur 5 Minuten
lima-city → Forum → lima-city Allgemein → lima-city Allgemein
abfrage
auswerten
datenbank
datenmenge
datensatz
datum
deutlich schneller gehen
million
multiple instanzen
regel
reine datenverarbeitung
schlag
sekunde
server
tag
url
verarbeiten
verbindung
vorhaben
zauber
-
Hallo, die Variable "max_execution_time" ist in eurer php.ini auf 300 gestellt, also 5 Minuten.
Ich muss ein Script jedoch länger laufen lassen.
Per set_time_limit() krieg ich nur folgende Warnung:"Warning: set_time_limit() has been disabled for security reasons"
Gibt es noch einen anderen Weg, die Zeit zu erhöhen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
WTF
Wofür braucht ein Skript so lange? Ich finde 60sec reichen vollkommen aus, alles darüber ist schon arg lang.
Kannst du beschreiben, wofür du das brauchst? Vllt geht das ja effizienter zu lösen.
Liebe Grüße -
Vielen Dank, ich konnte es bereits mit
ini_set('max_execution_time', 0);
lösen. Laut meinen Berechnungen wird mein Script ungefähr 8 Tage benötigen bis es durch ist.
Es geht um einen Datenimport von 1,3 Million Datensätzen bei ungefähr 2 Datensätzen pro Sekunde.
Beitrag zuletzt geändert: 13.9.2015 22:16:55 von arcardy -
Ein webserver ist in der Regel nicht dazu gedacht eine abfrage (1)8 Tage lang durchzuführen, sondern Websiten bereitzustellen. Warum führst du das Skript bei dir nicht lokal aus? Dann sollte es deutlich schneller gehen.
Außerdem, was willst du mir 1,3 Millionen Datensätzen, diese wirstdu hier nicht auswerten können, wie gesagt, das ist hier ein webspace und damit ungeeignet für reine Datenverarbeitung
Beitrag zuletzt geändert: 13.9.2015 22:54:24 von thecity -
thecity schrieb:
Ein webserver ist in der Regel nicht dazu gedacht eine abfrage (1)8 Tage lang durchzuführen, sondern Websiten bereitzustellen. Warum führst du das Skript bei dir nicht lokal aus? Dann sollte es deutlich schneller gehen.
Außerdem, was willst du mir 1,3 Millionen Datensätzen, diese wirstdu hier nicht auswerten können, wie gesagt, das ist hier ein webspace und damit ungeeignet für reine Datenverarbeitung
Nunja, lokal lief es nicht, und außerdem ist mein Internet nicht wirklich schnell, und da die lima city server ja miteinenader verbunden sind passt es doch auch so.
Und außerdem: es funktioniert aber... Anfrage abschicken, tab schließen, fertig... skript läuft dann 8 tage durch.
AUßerdem: ich kann natürlich die daten hier auswerten, ich hab hier doch eine mysql datenbank gekauft. ich hab 10gb speicher, also darf ich die auch ausnutzen.
Beitrag zuletzt geändert: 13.9.2015 23:25:06 von arcardy -
arcardy schrieb:
AUßerdem: ich kann natürlich die daten hier auswerten, ich hab hier doch eine mysql datenbank gekauft.
Ich kann auch bei der nächsten großen Ralley teilnehmen, ich hab mir auch ein Mofa gekauft.
Mit dem dem blöden spruch will ich sagen, ja, es geht... vllt. (ich bin mir nicht sicher ob der Prozess wirklich 8 Tage durchlaufen will) Aber es ist nicht geeignet. 10 GB an daten durchzuarbeiten dauert, es dauert länger mit php, es dauert länger mit mysql(ist aber ok), es dauert länger auf einem Webserver.
Ich würde wenn ich große Daten verarbeiten will, das immer Lokal oder auf einem richtigen server machen und php wäre auch nicht meine erste Wahl. Die Frag ist ob du die 1,3M daten zur Verfügung stellen willst. Wenn ja, dann würde ich trotzdem mal gucken, ob das nicht etwas viel ist. Wenn du sie nur verarbeiten willst ist das so oder so sehr inperformant. -
Die Datenmenge allein finde ich noch garnicht so schlimm. Vielmehr verwundert mich das hier:
arcardy schrieb:
Von wo werden die Datensätze importiert und wieso geht das so langsam?
Es geht um einen Datenimport von 1,3 Million Datensätzen bei ungefähr 2 Datensätzen pro Sekunde.
Wichtig ist nämlich, was PHP in den 500ms zwischen den Datensätzen arbeitet. Wartet dein Skript auf Ereignisse, könnte dein Vorhaben vielleicht sogar in Ordnung sein. Das entscheidet dann aber ein Admin.
Wenn es jedoch aktiv rechnet, bin ich mir ziemlich sicher, dass das nicht 8 Tage lang geduldet wird. Auch nicht im Premiumpaket. -
fuerderer schrieb:
Die Datenmenge allein finde ich noch garnicht so schlimm. Vielmehr verwundert mich das hier:
arcardy schrieb:
Von wo werden die Datensätze importiert und wieso geht das so langsam?
Es geht um einen Datenimport von 1,3 Million Datensätzen bei ungefähr 2 Datensätzen pro Sekunde.
Wichtig ist nämlich, was PHP in den 500ms zwischen den Datensätzen arbeitet. Wartet dein Skript auf Ereignisse, könnte dein Vorhaben vielleicht sogar in Ordnung sein. Das entscheidet dann aber ein Admin.
Wenn es jedoch aktiv rechnet, bin ich mir ziemlich sicher, dass das nicht 8 Tage lang geduldet wird. Auch nicht im Premiumpaket.
Es werden Daten zusammengefügt, gehasht, Zeitstempel wird ermittelt, gehasht, an anderen Server verschickt, der Output wird mithilfe meines eigenen JSON Decoders geparst und mithilfe von variablen Variabeln in die Datenbank geschrieben.
Aber gut, das ist zuviel für Lima.
Ich werde mir einenCloudserver mieten und damit die Daten in die Limacity Datenbank schreiben.
Aber es gibt ein Problem... Der Skript ist momentan eingestellt auf 150k.... Und er hat 37,5k.
Das kann noch bis morgen Abend dauern bis er fertig ist... -
Für 2 Datensätze 2 Sekunden. Also performant ist wirklich was anderes.
Sehr vieles lässt sich auch auf Datenbankebene gut regeln.
Wenn du ein bisschen ins Detail gehst, dann lassen sich bestimnt einige Dinge performanter lösen. -
Sind jetzt bei 100k, also hatte es mehr als nur zwei Datensätze pro Sekunde, eher 3-4.
Ich pretsch das jetzt einfach sobald der Script auf Limacity durch ist mit einem 8GB Server durch... Multiple Instanzen. -
arcardy schrieb:
Sind jetzt bei 100k, also hatte es mehr als nur zwei Datensätze pro Sekunde, eher 3-4.
Ich pretsch das jetzt einfach sobald der Script auf Limacity durch ist mit einem 8GB Server durch... Multiple Instanzen.
Fasst du Queries denn wenigstens zusammen und schickst 3-4 Datensätze auf einen Schlag in die Datenbank oder baust du jedes Mal eine neue Verbindung auf, schreibst einen Datensatz und beendest den ganzen Zauber wieder?
Beitrag zuletzt geändert: 14.9.2015 8:04:25 von gatheringxp -
gatheringxp schrieb:
Fasst du Queries denn wenigstens zusammen und schickst 3-4 Datensätze auf einen Schlag in die Datenbank oder baust du jedes Mal eine neue Verbindung auf, schreibst einen Datensatz und beendest den ganzen Zauber wieder?
Nein, er baut jedes Mal eine Verbindung für einen Datensatz auf. Ich habr nicht gelernt performant zu skripten.
Aktueller Status: 112k/150k.
Beitrag zuletzt geändert: 14.9.2015 8:50:44 von arcardy -
Mal ganz was anderes. Was spricht dagegen sich für 10-20€ einem V- oder sogar RootServer für 10 Tage zu besorgen? Dann bist du eventuell schon nach 7 Tage fertig, da solche Server meist etwas schneller, da diese ja wesentlich mehr Power haben, als das Webhostingpaket hier.
LG -
computergottshomepage schrieb:
Mal ganz was anderes. Was spricht dagegen sich für 10-20€ einem V- oder sogar RootServer für 10 Tage zu besorgen? Dann bist du eventuell schon nach 7 Tage fertig, da solche Server meist etwas schneller, da diese ja wesentlich mehr Power haben, als das Webhostingpaket hier.
LG
Genau das hatte ich vor. Ich kauf mir bei Azure einfach für 2 Tagr nen 7GB Ram Webserver und gut ist. Heute Abend wird der angeschaltet und wir ld die Daten in die lima db senden.
edit: 14gb ram server wurde gekauft... apache2 installiert, mysql und phpmyadmin ebenso.
Lulu hat mir einen Verbesserungstipp gegeben, jetzt schreibt das Script auf meinem Vserver mit 4 Eintraägen pro Sekunden.
Aber das ist nicht alles! Ich lasse 5 Instanzen vom Script gleichzeitig laufen. Macht also 20 Einträge pro Sekunde.
Beitrag zuletzt geändert: 15.9.2015 22:50:26 von arcardy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage