Har tittat vidare på lösningar för sidan och jag gjorde en liten "miss" innan jag startade denna tråden. PHP-filen som räknar besökare lagrar inte endast en ip-adress utan hämtar även ut sidans placering och skriver ut den på bilden, där av den "onödiga" overhead med php (fast jag hade kört på den lösningen ändå). Så en hel del av belastningen låg på denna SQL-fråga men det har jag löst med memcached. Även om detta drog ner load så är det inte tillräckligt, speciellt inte när sidan helt plötsligt kan få en 100% ökning. Så jag har kommit fram till något liknande det Kullvervo skrev om.
Denna Bild demonstrerar hur jag har tänkt det. I min värld borde det bli mycket bättre.
HTTP-Server - Sköter all kommunikation utåt och slipper belastningar av MySQL och statistik-uträkningar.
MySQL-Server - Sköter all lagring av datan och får RAID 10 för felkontroll och säkerhet samt 4GB minne för datan.
Log-Server - HTTP-Servern kör Remote-logging till denna maskin.
Tanken är att istället för att PHP-scriptet ska skicka INSERT med IP till MySQL så ska ett program skrivit i C++ gå igenom loggfilerna och göra detta istället. På så sätt samlas alla INSERTS in i en fråga istället för många små vilket borde borde snabba upp det mycket. Programmet ska även göra de uträkningar för användarna som idag görs via cronjobs var 15:e minut. Tanken är att dessa beräkningar som kräver kapacitet inte ska påverka sidladdningarna på sidan då en lite överbelastad webbserver skickar html-kod samt alla bilder väldigt långsamt.
Idag har jag bara HTTP-servern som kör MySQL och alla uträkningar. Det planerade kalaset kommer gå loss på ca 5900kr/mån, vilket det är värt om det hjälper mycket.
Vad tror ni om denna lösning och om utvald hårdvara (som visas på
bilden)?