 |
Bara ett inlägg till!
|
|
Reg.datum: Dec 2003
Inlägg: 1 519
|
|
Bara ett inlägg till!
Reg.datum: Dec 2003
Inlägg: 1 519
|
Min mage säger:
1. Onödigt att lagra datan i en relationsdatabas.
2. Onödig overhead med PHP.
3. Datan är oviktig. Det är inte hela världen om du sumpar ett entry eller två.
4. Du vill cruncha datan asynkront med requestsen.
Förslag på lösning:
Skippa PHP och crunch:a webbserverns logg asynkront istället. Släng på fler webbservrar vid behov. När det blir jobbigt att merga:a alla webbservrarnas loggfiler kan du låta de logga över en socket för central lagring. Använd Spread (gruppkommunikationssystem. Finns modul till apache) om du inte vill bygga socket-lösningen själv.
Å andra sidan låter det som att ditt nuvarande system borde klara bra mycket mer än 50 skrivningar per sekund. Men du har kanske massa tunga index över en enda enorm tabell? En snabblösning vore att fortsätta logga i mysql fast i en heap-tabell och dumpa över den datan till din redan befintliga tabell regelbundet, fast partitionera den först. Tänk på vilken information du verkligen vill ha kvar permanent. Dvs, du vill kanske inte veta exakt vilka IP-adresser som besökte sajten 1:a juli 1999 utan bara mängden unika besökare den dagen, den veckan och den månaden. Minska nogrannheten på äldre data låter lämpligt.
Edit: Sorry, det var visst hårdvarutips du var intresserad av. Jag rekomenderar någa billiga PC-servrar förr webbserver samt lastbalanserare och din befintliga för crunch och lagring av statsen. För övrigt berättar du inte vad flaskhalsen är i ditt nuvarande system. Disk-IO eller concurrency-problem med mysql?
|