Tack för en mycket intressant tråd, älskar performance relaterade trådar
Skulle vilja flika in lite spontana kommentarer om det jag läst här i tråden. Jag utgår från ett system där du periodiskt läser httpd loggarna.
Jag såg arkitekturen (bilden) du postade om det nya systemet du funderade på att bygga. Tycker det är lite märkligt att du valt att logga till en remote loggserver. Om du bygger det såhär är det ett perfekt sätt att introducera två flaskhalsar. Dels din loggserver och dels din databas. Om jag hade varit dig så hade jag låtit front-maskinerna logga till sin lokala disk.
Detta gör att du uppnår flera saker.
1) Du tar bort en flaskhals från systemet
2) Du kan relativt lätt installera fler front-maskiner om lasten blir för hög för en maskin (men du måste merga resultaten från varje maskin). Dvs, systemet är skalbart.
3) Du sänker trafiken i ditt lokala nätverk vilket för eller senare kommer bli en flaskhals
4) Lägre latency på varje write, vilket gör att du kan hantera fler writes/s
Vidare skriver du att du måste outputta en bild för varje request som kommer in. Om du genererar bilden vid varje request så förstår jag varför du har problem. Förgenerera alla bilder du kommer att skicka ut. Visst det kommer ta några timmar att generera de beronde på hur snabb maskin du har men det är det värt.
Beroende på hur mycket ram du har kan du välja att lägga dessa bilderna i en ram-partion, dela de via memcache eller bara ha de på lokal disk. Alternativen är listade i snabbhetsordning.
När en request kommer in så slår du upp hur många hits siten har (ha det tex cachat i memcache) och lämnar över uppgiften till att skicka ut bilden till din httpd genom att skicka en X-SENDFILE (header('X-Sendfile: 123423.png')

. Detta är inte många rader php kod.
Var 15 minute så låter du cron-script på dina front maskiner läsa httpd loggarna. Gör en sammanställning och skicka till databasen (antingen direkt eller via ett kommunikationslager som xml). Uppdatera sedan din memcache med antalet hits för varje site.
Dina frontmaskiner är io-bundna, så investera hellre i dyra diskar än mycket CPU. Kör lighttpd på maskiner för maximal prestanda, använd APC tillägget för PHP för att cacha op-koderna. Använd memcache för saker du behöver dela mellan dina front-maskiner men använd helst "rent ram" för att plocka bort ytterligare latency (som för bilderna jag nämnde innan). Ställ dig frågan, "Behöver *verkligen* maskinera dela denna datan".
Nyckeln till det hela är att designa systemet så asykront du bara kan.