Moin!
Was ist schneller:
Ausgaben mit PHP APC zu cachen, Memcached zu nutzen oder Ausgaben in TXT-Files zu schreiben und zu includen, erst bei Änderung zu erneuern?
Nachmessen, es hängt davon ab, was alles zu tun ist bzw. welcher Aufwand des "jedesmal neu erstellen" wegfällt und durch "prüfen, ob sich was geändert hat, wenn nein, dann Cache benutzen, andernfalls neu erstellen und abspeichern" ersetzt wird.
Was die diversen Methoden angeht:
Du weißt, was APC macht? Du weißt, was memcached macht? Du kennst den Unterschied zwischen beidem?
Du weißt, was der Unterschied zwischen APC/memcached und dem Speichern in Textdateien ist? Du hast ihn gemessen?
Macht es Sinn APC oder diesen FileCache (einfach checken ob die Ausgabe als txt vorliegt, wenn nicht oder erneuern: per file_put_contents schreiben und per file_get_contents auslesen) + Memcached zu nutzen?
Nachmessen! Du ersetzt die Einfachheit des "einfach neu erstellen" durch die Komplexität, erstmal ermitteln zu müssen, ob neu erstellt werden muss, plus das eventuelle Abspeichern und Lesen des Cache-Bereichs. Bei Operationen, die alleine und immer wieder z.B. eine Sekunde benötigen, und bei denen das Prüfen, ob der Cache noch aktuell ist, auch eine Sekunde benötigt, ist ein Cache nicht sinnvoll. Und selbst wenn sich die Wartezeit halbiert, wäre das noch sehr fraglich.
Es verwirrt mich etwas mit dem ganzen Cachen.
Dann lass es weg. :)
Ich nutze PHP und möchte meine APP beschleunigen.
Performanceverbesserung beginnt damit, nachzumessen, wo genau die Zeit wirklich verbraucht wird. Erst wenn man das weiß, kann man genau diese Punkte verbessern.
Installier dir z.B. XDebug und mach ein Profiling deiner Skripte, dann siehst du, bei welchen Codeteilen die Rechenzeit verbraucht wird.
Und was bringt mit Outputbuffering bei dem ganzen? Bringt es überhaupt noch etwas?
Vermutlich bringts dir sehr wenig.
- Sven Rautenberg