Behovet for caching er et symptom på noget andet. Det der først skal gøres er at starte fra bunden, få kigget på databasen, hvor mange forespørgsler kommer fra eet login og rammer de forespørgsler de rigtige indexes. Kan nogle af disse forespørgsler laves således at i stedet for eks. at ramme 5 forskellige tabeller via 8 forskellige joins, så laves der et view i stedet med disse informationer, så det er hurtigere at hente (mindre open/read/close operationer) .
Når den spiller max, burde der være sket en performance optimering allerede, database laget ville så være næste skridt, åbner og lukker det forbindelser hver gang, er der unødig meget læsning/skrivning/osv. Bruges der prepared statements/optimeret sql, læses der kun (KUN) det der er behov for eller sorteres der i hukommelsen etc. Kunne man fx. lægge nogle af de tunge operationer ind som Stored Procedures i stedet? Kort sagt lad databasen om at lave så meget som muligt, det er det den er der for.
Allerede nu burde man kunne lave performancemålinger af hvor lang tid den kode man ikke har kilden til tager i forhold til "eget" kode. Det kan en almindelig profiling af den enkelte side vise. (eller bør kunne vise). Alternativt så smid nogle timere ind i testmiljøet og se hvor lang tid de enkelte request tager og så start med at optimere fra toppen af - dem der tager længst tid.
Hvis man allerede nu kunne etablere et grundlag og sige at "det er hent artikler fra købe debatten der er problemet",så er man meget længere og kan arbejde med det in mente. Ellers famler man rundt i blinde.
At lave caching fra start er kun et symptom på at noget andet er galt, det burde ikke være nødvendigt med caching på dette indhold - og det er måske ikke muligt.
Inden man har kildekoden kan man eks se på databasens profiler om se det sql der sendes afsted og se de svartider og hvor "optimeret" det sql er og sammenholde det med indexes osv.