Rechengeschwindigkeit Localhost vs. Webserver

I

iphonenewbie

Mitglied
Thread Starter
Dabei seit
28.11.2008
Beiträge
96
Reaktionspunkte
0
Guten Abend,

ich habe ein PHP Script geschrieben, dass viele Schleifen enthält und je nach Parametern 2-8 Sekunden Rechenzeit braucht (Serverseitig, gemessen mit microtime(true), vor und nach dem Skript).

Jetzt frage ich mich inwieweit diese Rechenzeit von meinem MacBook abhängt, das immerhin auch schon 4 Jahre alt ist. Kann ich davon ausgehen, dass das Skript auf einem modernen Server (erheblich) schneller läuft?

Vielen Dank
 
Wofür ist das Skript gut? 2-8 Sekunden und php klingt in meinen Augen nach viel, aber ich nutzte php zum Glück auch nicht.

So pauschal kann dir da keiner eine Antwort geben, ist ja auch abhängig von der Hardware, und "moderner Server" kann alles sein, vom vServer bis zu großeren Datencentern. Außerdem sagst du nichts über das Skript selbst. CPU-bound, viel Network oder Disk I/O. Wo werden die 2-8 Sekunden verbraucht?!

Generell hat die Single Core Performance (IPS) aber kaum zugenommen in den letzten 4 Jahren, ~40% bei Intel Hardware. Sofern dein Skript nicht multithreaded ist, wovon ich einfach mal nicht ausgehe, hat das sowieso kaum einen Einfluss, sofern es CPU-bound ist.
 
Hi xentric,

Danke für die Antwort.

Das Skript hat verschachtelte Schleifen um verschiedene Kombinationen aus Variablen zu finden, die gewisse Bedingungen erfüllen.. Ist da Disk I/O? (Bin kein Informatiker wie du siehst ;) )

Bzgl. Performance dachte ich nicht nur daran, dass mein MacBook 4 Jahre alt ist, sondern auch daran, dass ein professioneller Server eines großen Anbieters ja sicher auch mehr Power hat als mein Laptop?

Aber wenn ich das richtig lese ist die Antwort wohl, dass ich nicht davon ausgehen kann, dass es viel schneller läuft..
 
hallo,

um zu testen welche Performance das Script auf einem Webserver hat, kann man sich einen
kostenlosen Webspace (siehe Google) besorgen.

Weiterhin würde ich Performance-kritische Anwendungen niemals per PHP lösen, sondern per
Javascript das ja im Browser des jeweiligen Clients abläuft, was wesentlich performanter abläuft.
Um an die Daten zu gelangen, kann Javascript in Verbindung mit Ajax mit PHP kommunizieren.

Gruß
heinrichth
 
Wenn ich das recht verstehe, dann berechnest Du die Differenz von zwei microtime() calls zwischen Start und Ende Deines Scripts auf Serverseite. Wenn das so ist, dann spielt die Leistungsfähigkeit Deines MBPs keine Rolle. In dem Fall wäre zu klären, was auf dem Server noch so läuft. Ist das ein root-Server, den nur Du nutzt, oder ein shared Host? Beim shared Host würde es diese Verhalten erklären. Wenn Du allerdings einen root-Server hast, müsstest Du klären, was noch so auf dem Server läuft und für den Benchmark alles unnötige Zeugs deaktivieren.
 
Ich denke der OP hat das PHP script auf seinem MacBook ausgeführt.

Zur Frage: ich würds einfach ausprobieren. VM hochfahren, testen, VM runterfahren. So ein Test sollte einem 1-2€ wert sein.
 
Grundsätzlich sind 2-8 Sekunden Laufzeit mal kein Problem! Standardmäßig bricht PHP alles ab, was länger als 30 Sekunden läuft, aber auch das kann man umgehen! Es ist halt immer die Frage nach dem Kontext, also der Umgebung. Wenn ein Nutzer 2-8 Sekunden auf eine schnell ausgelieferte Seite warten muß ( das kann dann ja noch länger werden), dann ist das sichert ein Nachteil. Läuft so ein Skript auf einem eigenen Server im Internet mag es Sinn haben und geben das so zu tun. Läuft es auf einem Server mit hunderten von Webspaces werden die anderen User sich irgendwann über die häufige Drosselung ihrer Rechenzeit beschweren!

Nicht selten kann man durch Optimierung eine ganze Menge erreichen, manchmal sind es die kleinen Ideen die so ein Skript um den Faktor 10 oder noch mehr beschleunigen können. Und um das Laufzeit- und Lastverhalten beurteilen zu können bleibt Dir eh nur eine neue Messung auf einem Zielsystem.
 
Mir stellt sich die Frage, was Dein Script in den verschachtelten Schleifen so treibt und ob da ggf noch optimierungsbedarf besteht. Bei verschachtelten Schleifen baut man sich schnell Code der beim Durchlaulauf die Schleifen potentiert. Soll heissen, je mehr durchläufe desto mehr unnütze Durchläufe werden ggf. Ausgeführt. Ich würde an der Stelle ansetzen und den Source code auf optimierungspotential prüfen (lassen)
 
  • Gefällt mir
Reaktionen: wegus
wie kommst Du auf 1-2 Euro?

Ich nutze gerne Simple Cloud Infrastructure for Developers | DigitalOcean. Da zahlt man auf Stundenbasis, d.h. ein Test mit einer einfachen VM kostet pro Stunde 0,007 $-cent ($5/monat).
Ich provisioniere meine Server über Ansible, d.h. wenn man da einen neuen Server zum testen braucht, dann kann ich den automatisch installieren, tests laufen lassen und dann wieder löschen. Geht alles auf Knopfdruck (das "Spiel in meiner Signatur kann auch über Knopfdruck auf einer DigitalOcean VM über Ansible installiert werden, siehe github repository).
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: wegus
Zurück
Oben Unten