Bekijk Volledige Versie : Monitoring - High load
Heren,
Sinds gister hebben wij op bepaalde uren, een ontzettende high load op een van onze servers. Gelukkig maken we gebruik van nagios monitoring, waardoor we de bepaalde uren kunnen marken. Echter is ht onderzoek wat de oorzaak is, een stuk lastiger. We hebben al server-status aangegooid om dieper te kijken, maar krijg er nog geen vat op. Ik ben dus op zoek naar tools, waarbij we zelfs op website niveau kunnen zien welke site de load genereerd. De loggings zijn te groot om hier doorheen te spitten. Het heeft zeker met MySQL, php en apache te maken. Dus iemand zit een flinke file te uploaden, waardoor de IO enorme latency kijgt, maar zeker zijn doen we dit nog niet.
Hebben jullie advies hoe we dit kunnen managen? We zitten in ieder geval te denken om bw_mod te installeren voor apache, waarmee we makkelijk bandwidth throttling kunnen enablen.
Draai je iets als mod_ruid? Dan kun je met top, atop, htop etcetera meekijken welke scripts er door wie worden gedraaid. Alleen bij Mysql zie je het dan niet meteen, maar je kunt wel redelijk snel zien wie de aanroepende boosdoener is.
Alleen bij Mysql zie je het dan niet meteen
mytop
Nee maar dat is wel een idee om even te installeren. Kan in ieder geval geen kwaad.
Het lijk me sterk dat een server traag begint te lopen door iemand die een file aan het uploaden is. Check eens of er geen actieve scripts/programma's zijn die met een massa geheugen gaan lopen waardoor het geheugen begint te swappen?
Met het 'top' commando kan je kijken welk proces het meeste resources weg nemen. Typ < of > om de kolom waarop je sorteert aan te passen.
Eenmaal je het procesID weet kan je met
ps -Af | grep procesID
het volledige commando zien waarmee het is aangeroepen. Handig wanneer dit bijvoorbeeld een PHP script is dat vast hangt.
vne, dit is wel bekend, alleen ben ik op zoek naar tools om te zien welke website de load genereerd. mod_ruid zou dus een optie kunnen zijn.
dreamhost_nl
15/03/10, 08:57
De CSF/LFD-combo stuurt je een e-mail indien de server load hoger wordt dan de vantevoren ingestelde waarde. Hierin worden dan alle processen weergegeven die op dat moment draaien. Is dat wellicht een optie?
Wij hebben inmiddels de scripts gevonden die de high load veroorzaakte. Nu is de vraag, hoe gaan jullie hiermee om? Als iemand even 5000 mysql records aan het updaten is, dan willen we dit kunnen managen, zodat het geen zware impact heeft op de server. Mysql op een dedicated server is even niet het antwoord wat ik zoek. De mysql update is puur een voorbeeld. Wij hebben al spri draaien, zodat we processen kunnen prioriteren. Is PRM bijvoorbeeld nuttig?
Wij hebben inmiddels de scripts gevonden die de high load veroorzaakte. Nu is de vraag, hoe gaan jullie hiermee om? Als iemand even 5000 mysql records aan het updaten is, dan willen we dit kunnen managen, zodat het geen zware impact heeft op de server. Mysql op een dedicated server is even niet het antwoord wat ik zoek. De mysql update is puur een voorbeeld. Wij hebben al spri draaien, zodat we processen kunnen prioriteren. Is PRM bijvoorbeeld nuttig?
De server minder ver overboeken zodat je een incidenteel probleem zoals dit niet hebt ? Mocht je een gebruiker hebben die structureel voor dezelfde problemen zorgt, wordt het dan niet voor de user tijd om of zijn code beter te optimizen of voor een eigen server / vps te gaan. Verder kan een zware database gebruiker op een vps dezelfde impact creeeren waarbij de andere vps'n er ook last van ondervinden.
Overboeken doen we niet aan. :-) We gaan wel even verder speuren. Het zijn niet de overige VPSén, want die slapen, qua load. Het is deze ene VPS waar het pobleem op aanwezig is. Tijd voor tools en monitoring.