Forum pagina's laden erg traag

Status
Niet open voor verdere reacties.
:giveup:
Hoe kan het nu toch zover komen, na klagen over @home, daarna over de naam Ziggo, daarna over de snelheid, daarna over de levering van de modems en wederom snelheden
zijn we nu al aangekomen bij kritiek en :censored: van de software

ik geef het op ..... "wij" forumbezoekers zijn een zielig volkje geworden
( mezelf inclusief soms )
Hoezo deze reactie weer ? Waarom is het gelijk weer gezeik ? Dit is gewoon een interessant onderwerp voor discussie, niet meer en niet minder. Zie het als een leuke puzzel.
 
Er zijn op dit moment ong. 500 actieve gebruikers, als deze gemiddeld elke 10 seconden een nieuwe pagina laden (aanname) dan is dat maar 50 pagina's per seconde die je moet uitpoepen, da's niet echt veel.

Het probleem is vermoedelijk inefficiënte software (aanname, ik ken de software niet, puur gebaseerd op wat ik als eindgebruiker kan zien), dat wil niet zeggen dat het 'fixen' v/d software de oplossing is. Gewoon meer hardware aanschaffen zal waarschijnlijk nog de goedkoopste manier zijn om het forum sneller te krijgen.

Ja, inderdaad aannames.

Het forum maakt alle pagina's dynamisch, het is dus niet een kwestie van alleen maar pagina's tonen. Alle data komt uit een database en afhankelijk van de pagina zijn daar meerdere queríes voor nodig. Verder kosten zaken als 'zoeken' in het forum tijd omdat de database dan doorzocht moet worden.
Het alleen tonen van 50 pagina's per seconde is peanuts. De bottleneck is dus altijd het database gebruik.

We draaien we op een shared-server die verder niet heel druk is (wij zijn verreweg de grootste slurper van processortijd) maar als een ander proces het toevallig wel heel druk heeft zal dat ook te merken zijn.

Zo lang de "piek-vertraging" niet veel erger wordt dan dit moment zullen we het hiermee moeten doen. Gaat het verder achteruit, dan zullen we inderdaad moeten upgraden en een niet-shared server moeten gaan gebruiken. We zijn vrijwel continue bezig om de zaken te optimaliseren, bijvoorbeeld de 'vaste' content (plaatjes e.d.) lopen al via een aparte caching server wat duidelijk meer lucht gaf nadat dit ingevoerd was. In de komende maanden komt er een upgrade van de forumsoftware waar een betere database afhandeling in verwerkt zit, dus hopelijk houdt dit minstens gelijke tred met de toename van het aantal bezoekers.
 
Het was geen aanval op één persoon, maar gewoon een statement.
er heerst de laatste maanden enorme negativiteit, ik begin er zelf ook last van te krijgen

Misschien omdat je alles direct als negatief opvat of je dingen veel te serieus neemt. Dit is een forum over de diensten van en kabel provider, het gaat niet om iets belangrijks hier. Relax.
 
Ja, inderdaad aannames.

Het forum maakt alle pagina's dynamisch, het is dus niet een kwestie van alleen maar pagina's tonen.
Ja, dat snap ik ook wel, dan nog is 50/seconde extreem weinig.
Alle data komt uit een database en afhankelijk van de pagina zijn daar meerdere queríes voor nodig.
Ja, staat onderaan de pagina, aantal queries/pagina is wat aan de hoge kant, maar lastig op te lossen in deze situatie.
Verder kosten zaken als 'zoeken' in het forum tijd omdat de database dan doorzocht moet worden.
Het alleen tonen van 50 pagina's per seconde is peanuts. De bottleneck is dus altijd het database gebruik.
De database draait zeker ook op dezelfde machine als de webserver ? Hoe groot is de DB ?
We draaien we op een shared-server die verder niet heel druk is (wij zijn verreweg de grootste slurper van processortijd) maar als een ander proces het toevallig wel heel druk heeft zal dat ook te merken zijn.
Daar begin je niks tegen, ik neem aan dat het geen VPS betreft maar echt gesharede omgeving die je zelf niet beheerd ?
Zo lang de "piek-vertraging" niet veel erger wordt dan dit moment zullen we het hiermee moeten doen. (..)
Begrijpelijk, heel veel meer kan je niet doen met beperkte middelen.
 
Ja, staat onderaan de pagina, aantal queries/pagina is wat aan de hoge kant, maar lastig op te lossen in deze situatie.

eh.. aan de hoge kant ??
Elke pagina heeft gewoon data nodig, dus afhankelijk van de pagina die je bekijkt, en de items die erop staan of zaken die in de database gezet moet worden zie je het aantal queries. Dat is iets wat dus 'vast' staat en is geen prestatieindex of zo.
 
eh.. aan de hoge kant ??
Elke pagina heeft gewoon data nodig, dus afhankelijk van de pagina die je bekijkt, en de items die erop staan of zaken die in de database gezet moet worden zie je het aantal queries. Dat is iets wat dus 'vast' staat en is geen prestatieindex of zo.
Da's niet iets wat vast staat. Hoeveel van deze queries zijn informatie die bijna nooit veranderd ? De lijst met fora onderaan elke pagina bijvoorbeeld, ik vermoed dat dat nu een query kost, de user-info bij elke post kan het e.a. aan gecached worden, het aantal gelezen/ongelezen berichten rechtsboven is vast ook een query, er zijn maar +/- 500 users actief op piek-momenten, als je het aantal berichten van de laatste 1000 users die ingelogged zijn geweest cached levert je dat weer een heleboel queries op. Dit zou zelfs in PHP te regelen moeten zijn met memcached bijvoorbeeld.
 
.... [knip]...met memcached bijvoorbeeld.

Caching en andere optimizers zijn al standaard in gebruik. Een forum als dit kost gewoon heel veel processortijd, lees maar eens rond. Zeker als er veel grootverbruikers en snelklikkers (zoekmachines en andere bots) rondhangen.
 
Caching en andere optimizers zijn al standaard in gebruik.
Waarom zijn er dan 12 queries voor deze pagina nodig ? Ik weet niet precies hoe 't gedrag van users op een forum is, maar ik kan me voorstellen dat er maar een beperkt aantal topics zijn (de meest recente) en een bepaald aantal users (de huidige actieve) die 80% van je DB lookups kosten, deze kan je allemaal in het geheugen houden.
Een forum als dit kost gewoon heel veel processortijd, lees maar eens rond.
Ligt er aan, als de forum software ontworpen is met schaalbaarheid en performance in het achterhoofd dan hoeft het haast geen CPU tijd te kosten. I/O is veel vaker de bottleneck.
 
Waarom zijn er dan 12 queries voor deze pagina nodig ?

Misschien moet je je eerst wat meer verdiepen in hoe forumsoftware werkt. Google zal je meer info kunnen geven als je wat moeite doet.

Die queries zijn niet alleen om de informatie op je scherm te toveren, maar ook om zaken bij te houden zoals of iemand het bericht al gelezen heeft en om variabele data te tonen die je op elke pagina ziet staan, zoals hoeveel pb's er voor je zijn en hoeveel er ongelezen zijn etc. Veel van die individuele data kan dus nooit gecached worden omdat het voor iedereen anders is, en zelfs voor 1 persoon verandert bij elke klik.
Plaats je een bericht dan gebeurt er nog veel meer onder de motorkap, niet alleen je bericht wordt opgeslagen, maar ook zaken waardoor het zoeken op je bericht mogelijk is, waardoor zoekmachines er beter mee overweg kunnen, topic en threadinfo en nog veel meer. Schaalbare forumsoftware is vele malen complexer dan bijvoorbeeld een standaard website of blog.
 
Misschien moet je je eerst wat meer verdiepen in hoe forumsoftware werkt.
Ik ben niet helemaal achterlijk, ik heb een heel aardig beeld wat er bij zo'n stuk forum software komt kijken.
Die queries zijn niet alleen om de informatie op je scherm te toveren, maar ook om zaken bij te houden zoals of iemand het bericht al gelezen heeft en om variabele data te tonen die je op elke pagina ziet staan, zoals hoeveel pb's er voor je zijn en hoeveel er ongelezen zijn etc. Veel van die individuele data kan dus nooit gecached worden omdat het voor iedereen anders is, en zelfs voor 1 persoon verandert bij elke klik. Plaats je een bericht dan gebeurt er nog veel meer onder de motorkap, niet alleen je bericht wordt opgeslagen, maar ook zaken waardoor het zoeken op je bericht mogelijk is, waardoor zoekmachines er beter mee overweg kunnen, topic en threadinfo en nog veel meer.
Dat kan je prima cachen, je houdt b.v. de laatste 10000 actieve gebruikers in het geheugen, updates doe je naar de in-memory datastructuur en schrijf je asynchroon weg naar de database. (het is iets complexer dan dat, aangezien je wilt kunnen clusteren en je dan mogelijk wat concurrency issues moet oplossen bijvoorbeeld m.b.t. cache invalidation op andere nodes. Nog steeds geen rocket science)
Schaalbare forumsoftware is vele malen complexer dan bijvoorbeeld een standaard website of blog.
Inderdaad, het is complex, maar complex is niet hetzelfde als moeilijk. Ik zeg ook niet dat het snel op te lossen is, of dat het überhaupt mogelijk is het sneller te krijgen met de huidige middelen. Mijn enige punt is dat je met vergelijkbaar presterende hardware veel meer performance kan halen, niet dat dat hier een optie is. Beter schaalbare software zal een hoop geld kosten en waarschijnlijk niet eens draaien op je huidige hosting pakket.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan