[php/mysql] veroorzaakt hoge serverload

Pagina: 1
Acties:

  • DRvDijk
  • Registratie: Juni 2001
  • Nu online
Ik heb een stats-siteje in elkaar gepropt met PHP die gebruikt maakt van een MySQL-database..

Nou is er al 1 subpagina die wat langer erover duurt om te laden omdat ie veel berekeningen doet cq mysql-queries.. Het ergste wat ik ga was een serverload van 37 (oink).. Ik weet niet precies wat dit veroorzaakte, want normaal als ik zelf de stats opvraag heeft ie een load van 1.20 max (inclusief koe)...

Is het erg bezwaarlijk, zo'n hoge serverload? Kan dat schade? Ik weet niet of dit het goeie forum is voor deze vraag, maar de rest van de vraag hoort hier iig wel thuis:

Ik heb dus een database met een table data met daarin nu 2000 entries.. Die ga ik verwerken in een stats-pagina. Ik moet verschillende dingen weten uit al die data. Bijvoorbeeld het totaal aantal hits van een bepaalde data-range als een ip dit,dat,zus,of-zo is. Dus dat heb ik verwerkt in een MySQL-query. Prima, werkt. Alleen moet ik dat een stuk of 12*10=120 keer doen, 12 keer voor 10 verschillende stukkies info. Hoe zou ik dit kunnen optimaliseren? Gewoon ALLE data opvragen uit de database en die door PHP laten verwerken, of zo specifiek mogelijke MySQL-queries uitvoeren en dan maar wat veel?

Verwijderd

Combinatie van beide.. gebruik in ieder geval SQL Optimizers..
ik heb een programma in C++ gecodeerd op de MySQL Api.. stond voor een soortgelijk probleem.. heb het toen via balance line aangepakt.. Eerst alles uit tabel 1 geplukt en uit tabel 2 en dit stapje voor stapje naar beneden afwerken.. ging STUKKEN sneller dan voor elk ding een lookup in MySQL uitvoeren

  • DRvDijk
  • Registratie: Juni 2001
  • Nu online
Hoe bedoel je 2 tabellen? Ik weet niet of da goed gaat bij mij... Ik zou niet weten hoe ik die tabel op zou moeten splitsen in meerdere tabellen.. En als ik dat doe hoe ik de (live) update-functie snel hou.. Dan zou ik namelijk allemaal verschillende data in verschillende tabellen moeten proppen..

Ik zou dan IP apart kunnen nemen bijvoorbeeld, maar dan zou ik telkens ook moeten controleren of het IP al niet bestaat in de database. Of kan dit makkelijker?