schneller fopen oder file_get_contents?

ich betreibe mehrere Webseiten mit hohem traffic , der erforderlich ist , werden alle Bilder heruntergeladen sind über image.php?id=IMAGE_ID_HERE .
Wenn Sie schon einmal getan, bevor , wissen Sie, dass diese Datei zu Lesen die Bild Datei und als echo an den browser mit speziellen Headern .

Mein problem ist , die Last auf dem server sehr hoch ist (150-200) und Befehl TOP zeigt mehrere Instanzen image.php so image.php langsam läuft !

ist das problem wahrscheinlich ist fopen laden Sie das Bild, um den Speicher vor dem senden an den client. So Lesen Sie eine Datei und führen Sie es durch direkt?

Danke Jungs


UPDATE

Nachdem Sie optimiert den code, verwendet caching, wo immer möglich, tun, erstellen Sie ein CDN . paar Server, sync-Methoden, load-Balancer und kein Grund zur Sorge über Anfragen mehr 🙂

Was ist falsch mit file_get_contents? Oder warum verwenden Sie nicht nur fphassthru oder readfile? Und wenn das nur über custom Header, erwägen Sie die Verwendung mod_cern_meta oder mod_headers.
Für alle Fragen, die Sie gefragt werden, ob fnA() oder fnB() ist schneller: einfach Profil Ihren code. es wird dir die Antwort geben und die Chancen sind, werden Sie feststellen, dass etwas anderes ist, Bremsen Sie ab.
vorausgesetzt, Sie haben überprüft den code , optimiert alles , entledigte sich der anderen Dinge, bis nichts passiert ?
Warum nicht implementieren, die spezielle Header in Apache oder Nginx conf-Dateien und dienen die Bilder direkt aus den Dateien? Keine Lösung berühren Sie den PHP-Prozessor würde mach es.
Nicht sicher, was Sie versuchen zu sagen, aber in jedem Fall ist die Profilierung der Weg zu gehen, anstatt zu Fragen, für eine synthetische a() vs b().

InformationsquelleAutor Ronan Dejhero | 2011-10-18

Schreibe einen Kommentar