PDA

Bekijk Volledige Versie : Super veel connecties verwerken



ElleRt
08/02/07, 13:28
Beste mensen,

Ik zit met een probleem van veel connecties die tegelijkertijd open staan op mijn server.

Ik heb een statistiekenhost, en moet daardoor vaak connecten met de database. Gemiddeld staan er zo'n 300-500 connecties open.
Nu heb ik een aparte databaseserver aangeschaft, maar de http connecties lopen nog via mijn oude server waar de php bestanden opstaan.

Op deze oude server staan ook nog meer website die hier ook last van ondervinden. Ik zit eraan te denken om een derde server te nemen. Ik zou dan hebben:
1 server voor al mijn overige website.
1 database server voor statistiekenhost
1 gewone server voor statistiekenhost.

Maar aan wat voor server moet ik dan denken om erbij te nemen? Een server die dus zoveel mogelijk open connecties tegelijkertijd aankan. Maakt het uit waar ik dan voor kies?

Ik hoop dat iemand mij van een goed advies wil voorzien!

Daarnaast kon ik mijn websites vanmorgen niet bereiken (op de gewone server). Na een reboort, krijg ik de websites wel te zien, maar duurt het wel 10 seconden. Dit terwijl de serverload eigenlijk niet erg hoog is. Voor de reboot, waren er abnormaal veel connecties, en word er deze week twee keer zoveel bandbreedte gebruikt. Iemand enig idee met wat voor probleem ik hier te maken heb?

wonko
08/02/07, 13:39
Best even nakijken waar precies de bottleneck zit voor je in het wilde weg servers gaat aanschaffen. Ervaring leert me dat je meestal met eenvoudige tweaks al heel wat meer performantie uit webservers en databases kan halen.

ElleRt
08/02/07, 16:01
En wat versta je onder eenvoudige tweaks? Ik heb zelf maar weinig verstand van server, en ben afhankelijk van de scripter en de hoster.

maxnet
08/02/07, 19:49
Welke webserver software gebruik je nu?
Probeer anders lighttpd ( www.lighttpd.net ) eens, die kan goed met veel verbindingen overweg.

Met Apache en de meeste andere webserver software blijft PHP actief zolang er een verbinding tussen de computer van de bezoeker en de webserver is.
Heb je een buitenlandse bezoeker met een slome inbelverbinding dan kan dat wel even duren.
Database verbindingen die je script opzet, blijven ook vaak open staan tot het script geheel klaar is.


Bij lighttpd stel je een vast aantal PHP processen in, bijv. 16.
Op het moment dat een pagina opgevraagd wordt, wordt een van de PHP processen aangeroepen en de complete uitvoer van het script naar het geheugen gebuffered.
Nadat de uitvoer in het geheugen staat, komt het PHP proces meteen weer beschikbaar voor het volgende request.
Hierdoor blijven database verbindingen en andere resources niet onnodig lang in gebruik.