PDA

Bekijk Volledige Versie : Zware belasting server



Nomar
15/09/10, 16:25
Hi, ik heb een website ( http://bit.ly/dCIksF ), maar hij eet echt super veel resources op.. Als het even druk wordt kan hij wel eens down gaan.

Enig idee wat ik het besta kan doen??? misschien een dedicated server? Wat raden jullie me aan?

Alvast bedankt,

Alain
15/09/10, 16:34
Heb je al gekeken of de database query's efficiënter kunnen? Optimalisatie van de database? Optimalisatie van de configuratie van de server zelf? Je hebt eigenlijk wat statistieken nodig van de server (geheugen, db query's, i/o, apache etc) om advies te geven. Kan nl ook zijn dat de server waar je het nu op draait gewoon niet zoveel performance heeft.

Het is in iedergeval niet zo dat een 'zwaardere' oplossing altijd nodig is.

huizinga
16/09/10, 20:06
Heb je toegang tot de ssh van de server?

je zou met top (of htop) kunnen zien welke processen de problemen veroorzaken.. de load zal vermoedelijk erg hoog zijn als de site down gaat, waarschijnlijk kun je zien welke service hiervoor zorgt met top

brammetjeh
08/10/10, 10:14
Je kan sowiezo de overhead uit je databases trekken dit kan vaak al een aardig eind schelen

Dit kun je doen in phpmyadmin

Nomar
08/10/10, 14:52
Ik heb SSH toegang ja, wat is de command hiervoor?


Je kan sowiezo de overhead uit je databases trekken dit kan vaak al een aardig eind schelen

Dit kun je doen in phpmyadmin

enige uitleg?

Yourwebhoster
08/10/10, 14:59
Wat zijn de specs van de server en wat zijn de stats? Tenzij je alles op slaat in de MySQL database gok ik er op dat je script gewoon te zwaar is die vermoedelijk enkele sites crawled

Als ik het verder zo zie heb je niet bijster veel bezoekers tegelijk online. Is het een dedicated server voor enkel deze website of heb je hier nog meer op draaien?

Nomar
08/10/10, 15:23
Het staat op een goeie dedicated server, er draaien echter nog wel een hoop andere sites op. Het klopt dat er niet zoveel gebruikers tegelijk online zijn, blijft meestal wel onder de 10 (1 keer zijn er wel meer dan 100 geweest, daarna ging hij ook down)

Yourwebhoster
08/10/10, 15:31
Het staat op een goeie dedicated server, er draaien echter nog wel een hoop andere sites op. Het klopt dat er niet zoveel gebruikers tegelijk online zijn, blijft meestal wel onder de 10 (1 keer zijn er wel meer dan 100 geweest, daarna ging hij ook down)

Een goede dedicated server is in ieders opzicht anders. Vandaar dat je wat specifieker moet zijn hierin.

Je server doet er redelijk lang over om een beetje output te geven, waardoor het lijkt alsof de server erg veel nodig heeft om de output te genereren. Ik vermoed dat je script gewoon de bottlenek is en of herschreven moet worden of op een betere server geplaatst moet worden zonder de rest van de websites.

Verder raad ik je aan om de server met iets als munin te monitoren. Het is goed om te weten wat de load van de server is op het moment dat deze offline lijkt te zijn.
Met de commando uptime kan je controleren wat de load van de server op dat moment is.

Piwi-Web
08/10/10, 16:18
'Goed' is relatief... Wat voor jouw goed kan zijn is voor mij misschien slecht ;)
Post wat specs + relevante informatie anders kan dit topic beter gelockt worden ...

Nomar
08/10/10, 16:32
# CPU : Core 2 Duo 2.9GHz
# RAM : 1GB
# HARD DRIVES : 4 x 320GB RAID-5 HW

Zijn de server specs...

Ik denk dat ik maar een extra server moet nemen. Het is een zwaar proces wat het script doet

opinion
08/10/10, 16:38
Ik denk eerder dat je even wat geheugen bij moet prikken. Indien je er een leuk control panel op hebt staan en web software niet specifiek afgestemd is op de web applicaties die je draait zul je als eerste tegen het probleem aanlopen dat Apache/PHP teveel geheugen aan moet spreken om je website tevoorschijn te toveren.

Als het druk eens, zou je eens met free -s 0.5 kunnen spelen.

Dan kan je zien wat het geheugen gebruik is. Zodra de swap vol zou gaan lopen, heb je (in principe) een probleem/geheugen tekort.

En wat kost een GB of 2 aan geheugen itt. een complete extra dedicated server?;) Ik zou daar in de huidige tijd niet meer op besparen, geheugen.

brammetjeh
08/10/10, 16:41
Je kan in phpmyadmin alle tabellen selecteren en dan onderaan kiezen voor de optie opschonnen. Dan haalt het programma alle overbodige info uit je databases. in de laatste kolom kan je zien of je veel overhead hebt op je database

WebMeso
08/10/10, 16:53
# CPU : Core 2 Duo 2.9GHz
# RAM : 1GB
# HARD DRIVES : 4 x 320GB RAID-5 HW

Zijn de server specs...

Ik denk dat ik maar een extra server moet nemen. Het is een zwaar proces wat het script doet

Vind het nou niet echt een super goede dedicated server als er vele websites op gehost worden. 1 GB RAM is wel erg weinig.
Is het je eigen dedicated server? Gezien het aantal bezoekers is een extra server, voor die website alléén, wel erg overdreven.

daanl
08/10/10, 19:05
Wat dacht je van je die 500 + ajax request naar 1 of 2 onder te brengen inplaats van mn hele console vol te gooien met die troep

Yourwebhoster
08/10/10, 19:08
# CPU : Core 2 Duo 2.9GHz
# RAM : 1GB
# HARD DRIVES : 4 x 320GB RAID-5 HW

Zijn de server specs...

Ik denk dat ik maar een extra server moet nemen. Het is een zwaar proces wat het script doet

Een goede dedicated server is in elk geval anders. Sowieso doe je er goed aan om minimaal 2GB RAM te nemen, het liefst 4GB zodat je in ieder geval voldoende hebt. En mocht het even lukken ook nog een moderne Quad core die op single core prestaties het beter doet of gelijk is aan de huidige Core 2 Duo.

Als ik je script zo ziet, gaat hij (afhankelijk van hoeveel backlinks er zijn) elke pagina met een link downloaden en parsen. Dit vereist veel geheugen en veel van de CPU.

Waarom een Quad core? Een zwaar script is niet multi-threaded, maar zal één core volledig gebruiken. Reken maar uit als je twee backlinkchecks tegelijk hebt, dan heb je al 2 cores op de volle 100% waarschijnlijk en dat is onvoldoende. Want waar moeten de processen naartoe die ook de CPU nodig hebben? Dan krijg je een vertraging. Als je in ieder geval 4 cores hebt, dan heb je meer speling. En vermoedelijk is het geheugen en de hoeveelheid cores je bottlenek.

QBell
09/10/10, 00:15
Je kan in phpmyadmin alle tabellen selecteren en dan onderaan kiezen voor de optie opschonnen. Dan haalt het programma alle overbodige info uit je databases. in de laatste kolom kan je zien of je veel overhead hebt op je database

My 2 cents (is niet echt opbouwend, not personal)
@Bram lees dit ff goed door en leer er wat van ;)

Ja goede info!
Zeker als je een site hebt waar 5TB aan data in MySQL staat.
Dan gaat MySQL 1 voor 1 al je tabellen read-locken totdat hij klaar is (en dat kan bij 5TB al gouw een uur of 8 zijn). Daarnaast krijg je gegarandeerd een page load timeout van PHP omdat phpmyadmin dan te lang draait.


Als ik de posts van TS een beetje lees denk ik dat hij geen 5TB aan data in zijn MySQL zal hebben (zeker niet omdat hij ongeveer maar 1.2TB aan schijfruimte heeft) en zal er daardoor weinig aan de hand zijn als hij dit doet.
Maar zonder verdere diepgaande kennis over het systeem mag je eigenlijk dit soort 'advies' nooit geven, want je kan hem hiermee heel makkelijk met meer problemen opzadelen.

davhog
09/10/10, 07:54
Wat dacht je van je die 500 + ajax request naar 1 of 2 onder te brengen inplaats van mn hele console vol te gooien met die troep

Ik denk dat daanl hier een heel goed punt heeft, de website voert een DDOS op zich zelf uit door die 500+ Ajax request. (ik dat dat het een geintje was, maar het zijn er echt meer dan 500) DAT KAN NIET GOED ZIJN. Als dit bewust zo geprogrammeerd is dan zou ik hard gaan nadenken over een alternatief want dit is echt geen optie. Voor nu zal je meer apache processen (en dus meer RAM) nodig hebben. Ik vermoed dat dit de bottleneck zal zijn. Je kunt meer processen toestaan door de 'MaxClients' parameter op te hogen in de apache config. Waarschijnlijk zal je dan wel tegen een tekort aan geheugen gaan aanlopen.

T. Verhaeg
10/10/10, 23:23
Heb je al meer duidelijkheid omtrent de optimalisatie van je website? Ik merk ook de grote aantallen AJAX requests, zou dat als eerste aanpakken.