Scalable hosting & average load

Technische problemen? Hier kun jij jouw vragen stellen!
Forumregels
Check eerst even onze handleiding (http://help.antagonist.nl/) voordat je hier je vraag stelt. Voor de meeste problemen hebben we een oplossing met een zeer uitgebreide uitleg.
Plaats reactie
Reno L
Berichten: 7
Lid geworden op: 30 jun 2016, 10:44

Scalable hosting & average load

Bericht door Reno L » 05 jun 2017, 18:57

Beste,

In hoeverre is scalable hosting o.i.d. bij Antagonist mogelijk? Ik ben al een behoorlijk aantal jaar tevreden over de kwaliteit en de mogelijkheden, en aangezien ik me momenteel bezighoud met een project waarbij (wanneer deze is afgerond) op bepaalde momenten de website druk bezocht zal worden en ietwat "zwaardere" processen moet uitvoeren zoals het genereren van PDFs, vroeg ik me af wat hierin de mogelijkheden zijn.

Met dit project kan ik me namelijk niet veroorloven dat de website *tijdelijk* onbereikbaar is. Nu heb ik dit niet op korte termijn nodig, maar ben me alvast aan het orienteren wat er mogelijk is mocht het zover zijn.

Daarnaast vroeg ik me af hoe ik een benadering van de CPU load kan weergeven in PHP. Ik heb de functie sys_getloadavg geprobeerd, maar hier komen waardes uit van rond 5.00 of hoger. Daar kan ik dus niet zo heel veel mee zonder meer gegevens te hebben van aantal cores etc. Ik zou graag iets hebben van "De server is momenteel 60% belast" o.i.d.

Alvast bedankt voor de moeite.

Met vriendelijke groet,
Reno

Gebruikersavatar
Daniël Langela
Antagonist staff
Berichten: 35
Lid geworden op: 07 feb 2017, 09:47

Re: Scalable hosting & average load

Bericht door Daniël Langela » 06 jun 2017, 13:10

Beste Reno,
Reno L schreef:In hoeverre is scalable hosting o.i.d. bij Antagonist mogelijk?
Op dit moment bieden we bij Antagonist nog geen 'scaleable hosting'. Wanneer je op piek momenten extreem veel 'load' ontvangt op een website kan dit je pakket overbelasten en ervoor zorgen dat je website een korte tijd (tot de load afneemt) niet bereikbaar is.

Het is daarom belangrijk om je op piek momenten voor te bereiden met een zwaarder pakket, wanneer je er voor kiest om bij ons te hosten.

Heb je bijvoorbeeld in het weekend veel verkeer, maar door de week niet, dan kun je alsnog het beste een zwaar hosting pakket aanschaffen voor deze weekenden, al zul je daar door de week weinig profijt uit halen.
Reno L schreef:Daarnaast vroeg ik me af hoe ik een benadering van de CPU load kan weergeven in PHP. Ik heb de functie sys_getloadavg geprobeerd, maar hier komen waardes uit van rond 5.00 of hoger. Daar kan ik dus niet zo heel veel mee zonder meer gegevens te hebben van aantal cores etc. Ik zou graag iets hebben van "De server is momenteel 60% belast" o.i.d.
We hebben een speciale module in DirectAdmin gebouwd voor het bekijken van de load, zodat je niet afhankelijk bent van het zelf opvragen van deze gegevens via PHP. Deze module bevat grafieken en de precieze gegevens tot 30 dagen terug in de tijd. Deze kun je als volgt bekijken:

1. Log in op DirectAdmin.
2. Klik op 'Resource Usage'.

Zie:
https://www.antagonist.nl/help/nl/webhosting/monitoring

Hopelijk heb ik hiermee je vragen goed kunnen beantwoorden. Je kunt overigens altijd een mail sturen naar support@antagonist.nl voor je vragen, alhoewel we deze uiteraard ook graag op het forum beantwoorden.
Met vriendelijke groet,

Daniël Langela
Antagonist staff

Reno L
Berichten: 7
Lid geworden op: 30 jun 2016, 10:44

Re: Scalable hosting & average load

Bericht door Reno L » 07 jun 2017, 21:42

Dank voor je bericht!

Ik had inderdaad de resource usage plugin in Direct Admin gevonden. Maar is het ook mogelijk om die load d.m.v. een PHP functie of API op te halen en te laten zien op een custom PHP pagina? Ik zou hem namelijk willen weergeven binnen m'n projectje.

Voor memory gebruik ik namelijk de volgende functie en die werkt prima. Ik zoek er dus ook zo een voor de CPU usage :-)

Code: Selecteer alles

private function _get_memory_usage()
	{
		$fh = fopen('/proc/meminfo','r');
		$mem = array();

		while($line = fgets($fh))
		{
			if(preg_match('/^MemTotal:\s+(\d+)\skB$/', $line, $pieces))
			{
				$mem['total'] = $pieces[1];
				continue;
			}
			
			if(preg_match('/^MemFree:\s+(\d+)\skB$/', $line, $pieces))
			{
				$mem['free'] = $pieces[1];
			}
			
			// Reset
			$pieces = array();
			
			if(count($mem) >= 2)
			{
				break;
			}
		}

		fclose($fh);

		return str_replace(',', '.', round(($mem['total'] - $mem['free']) / $mem['total'] * 100, 1));
	}
Alvast bedankt voor de moeite dusver!

Groeten,
Reno

Gebruikersavatar
Joris de Leeuw
Antagonist staff
Berichten: 1108
Lid geworden op: 13 feb 2016, 20:15

Re: Scalable hosting & average load

Bericht door Joris de Leeuw » 08 jun 2017, 08:28

De informatie die je specifiek ophaalt via /proc/meminfo en sys_getloadavg gaat specifiek om de belasting van de server binnen ons platform en niet om de belasting van jouw hostingpakket. Aan deze getallen kan je dus verder geen waarde vast hechten gezien deze getallen los staan van de resources van je pakket.

Mocht je processen op de achtergrond wensen draaien zoals het genereren van PDF bestanden zul je deze zelf dienen throttlen zodat dit type processen geen merkbare impact hebben voor bezoekers die gelijktijdig naar de website komen.

Afhankelijk van welke functionaliteit je gebruikt om de PDF's te generen is het soms al mogelijk direct aan te geven dat het proces maximaal op één core mag draaien. Mocht je dus gebruik maken van het Pro-pakket is dit dus al een mogelijke oplossing. Daarnaast is het soms mogelijk om RAM te limiteren.

Indien je gebruik maakt van ImageMagick verwijs ik je graag naar de volgende documentatie:
- http://www.imagemagick.org/script/resou ... nvironment

Betreffende het (automatisch) uitlezen van de belasting van je pakket is er op dit moment nog geen direct commando om dit te doen.

Wel zou je het volgende kunnen doen is een van het onderstaande om aan de hand hiervan actie te ondernemen. Merk op dat beide opties relatief technisch zijn.

1. Resources uitlezen uit DirectAdmin via de API

Zoals Daniël aangaf zijn de resources van je pakket inzichtelijk via DirectAdmin. De betreffende pagina ( CMD_PLUGINS/new_lvemanager/details.html ) kan je ook opvragen via de API van DirectAdmin.
Merk op dat je de tabel die je dan terug krijgt nog zelf via een script zult moeten parsen en daar dan conclusies aan dient te hangen. Tevens update deze data maar elke minuut.

In dit geval kan je de waardes van CPU en pMEM uit de tabel gebruiken om te kijken tot in hoeverre de resources van je pakket worden gebruikt.

2. Processen in de gaten houden

Daarnaast kan je in de gaten houden hoeveel processen er in je pakket draaien. Over het algemeen gaat het goed qua resources als er maximaal tweevoud aan PHP-processen draaien van het aantal cores wat jij in je pakket hebt zitten.

Aan de hand van het aantal PHP processen wat draait binnen je pakket kan je actie ondernemen en bijvoorbeeld je process die PDF's genereert pauzeren. Je kan de processen van je pakket opvragen met het 'ps aux' commando.

Hopende dat je deze toelichting kan gebruiken!

Mocht je daarbij zien dat je alsnog meer rekenkracht nodig hebt voor het genereren van een PDF is het altijd mogelijk door te schakelen naar een van onze Pro-pakketten zoals XL, XXL of XXXL welke met name geschikt zijn voor zeer zware websites die extra veel resources vereisen.
Met vriendelijke groet,

Joris de Leeuw
Antagonist staff

Plaats reactie