Tak oczywiście, że wyłączam cache do testów

Co do usuwania komentarzy to nie ma sensu - i tak na większości serwerów działa eAccelerator.
Zastanawiam, się czy ma sens własne cachowanie jeśli skrypt wykryje, że nie używamy sqlite (używam PDO). Tzn obecnie mam to wykonane tak, że w ramach jednej instancji klasy jest robiony w pamięci cache i przed każdym zapytaniem sprawdzane jest czy aby dana strona/news nie był już "wybierany" z bazy, jeśli tak to jest wypluwany z cache.
Teraz rodzi się pytanie - czy warto dodatkowo cachować to na dysku powiedzmy w folderze /cache/raw/ ze strukturą powiedzmy /cache/raw/news/id.dat.
Wtedy jednak przy zmianie newsa trzeba sprawdzać czy istnieje jako cache i go ew. usuwać.
Nie wiem czy to ma sens bo przecież jakoś trzeba kodować dane do pliku a później je parsować (najprościej chyba użyć do konwersji tablica>plik plik>tablica json_encode/decode) co zajmuje chwilę.
Myślałem nad cachowaniem całych podstron z wygenerowanym już htmlem jednakże wpadł mi nieprzewidziany problem - strona każdego zalogowanego użytkownika wygląda inaczej. Mogę oczywiście przyjąć założenie, że buforuje tylko strony dla niezalogowanych jednakże to trochę mijanie się z problemem.
Znalazłem też ciekawe porównanie:

Czyli sprawdzenie się starej zasady - prosty i ładny wyglądający kod ma mało wspólnego z wydajnością.
(Więcej na
http://phpbench.com/)