Hee,
Weet niet of ik hier op de juiste locatie ben maar betreft het gaat om programmeren lijkt me dat de meest voor de hand liggende locatie.
Ben bezig met ontwikkeling van een applicatie die aan de front-end kant werkt op laravel en bouw er een API achter op lumen. Tot heden is alles goed gegaan en is de CPU nooit bepaald hoog gekomen (23%).
Heb daarbij veel geïnstalleerd op de server zoals, Neo4J (wordt gebruikt als database), elasticsearch (wordt gebruikt voor search queries icm neo4j). Daarnaast draai ik op PHP 7.0.13.
In lumen heb ik gebruik gemaakt van queues die de taken afhandelt icm beanstalk. Dit werkt ontzettend snel wat natuurlijk ook moet. Verder heb ik een VPS bij transip (PureSSD X4).
Alles blijft netjes draaien voordat ik bij het deel van lumen queue icm beanstalk kwam, hierin heb ik dan nu ook 4 queues aangemaakt die eigenlijk simpelweg de volgende dingen doen;
EmailSender - Verstuur e-mail via mailgun
NodeSender - Stuurt berichten door naar een node connectie
MessageQueue - Ontvangt bericht en stuurt door naar de API
TelegramSender - Stuurt bericht naar een gebruiker op telegram
Je zou zeggen dit moet nauwelijks servercapaciteit trekken gezien niet alle 4 de queues continue data hoeven te verwerken (tot heden). Heb de queues tevens draaien als daemon.
Op dit moment van kijken loopt de server tegen het limiet aan sinds een maand inmiddels alweer zonder dat het ook maar iets daalt. Denk hierbij dus aan een CPU load van 186%, dit komt volgens de server door de queues die draaien.
De queues draaien volgens de server op de volgende CPU percentage;
Voor de mensen die wat dieper erop willen ingaan ik heb via forge (laravel) de sites ingesteld en daar de queues op aangemaakt wat bovenstaande commands aanmaakt. Heb taylor tevens als laatste optie ingezet om te vragen of hij iets weet wat hier gaande is.
Beanstalkd draait tevens ook op een behoorlijke CPU percentage maar vooruit dat mag naar mijn idee ook wel (denk ik) maar de queues op een percentage van gemiddeld 30% vind ik iets teveel van het goede.
--
Mijn vraag is dan ook of iemand hier ervaring mee heeft dat de CPU load zo hoog oploopt. Daarnaast weet iemand of ik anders een betere VPS of dergelijke moet aanschaffen om dit probleem te tackelen? Ik hoop dat ik na ruim een maand lang tot een mooie oplossing kan komen
Ben er namelijk wel een beetje op uitgekeken en de server word er nou niet echt betrouwbaar op als ik nog meer queues wil ontwikkelen.
Weet niet of ik hier op de juiste locatie ben maar betreft het gaat om programmeren lijkt me dat de meest voor de hand liggende locatie.
Ben bezig met ontwikkeling van een applicatie die aan de front-end kant werkt op laravel en bouw er een API achter op lumen. Tot heden is alles goed gegaan en is de CPU nooit bepaald hoog gekomen (23%).
Heb daarbij veel geïnstalleerd op de server zoals, Neo4J (wordt gebruikt als database), elasticsearch (wordt gebruikt voor search queries icm neo4j). Daarnaast draai ik op PHP 7.0.13.
In lumen heb ik gebruik gemaakt van queues die de taken afhandelt icm beanstalk. Dit werkt ontzettend snel wat natuurlijk ook moet. Verder heb ik een VPS bij transip (PureSSD X4).
Alles blijft netjes draaien voordat ik bij het deel van lumen queue icm beanstalk kwam, hierin heb ik dan nu ook 4 queues aangemaakt die eigenlijk simpelweg de volgende dingen doen;
EmailSender - Verstuur e-mail via mailgun
NodeSender - Stuurt berichten door naar een node connectie
MessageQueue - Ontvangt bericht en stuurt door naar de API
TelegramSender - Stuurt bericht naar een gebruiker op telegram
Je zou zeggen dit moet nauwelijks servercapaciteit trekken gezien niet alle 4 de queues continue data hoeven te verwerken (tot heden). Heb de queues tevens draaien als daemon.
Op dit moment van kijken loopt de server tegen het limiet aan sinds een maand inmiddels alweer zonder dat het ook maar iets daalt. Denk hierbij dus aan een CPU load van 186%, dit komt volgens de server door de queues die draaien.
De queues draaien volgens de server op de volgende CPU percentage;
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 33% CPU php /home/forge/dev2.monitorex.nl/artisan queue:work beanstalkd --sleep=0 --daemon --quiet --tries=5 --queue=NodeSender 30.6% CPU php /home/forge/dev2.monitorex.nl/artisan queue:work beanstalkd --sleep=0 --daemon --quiet --tries=5 --queue=TelegramSender 31.7% CPU php /home/forge/dev2.monitorex.nl/artisan queue:work beanstalkd --sleep=0 --daemon --quiet --tries=5 --queue=EmailSender 29.9% CPU php /home/forge/dev2.monitorex.nl/artisan queue:work beanstalkd --sleep=0 --daemon --quiet --tries=5 --queue=P2000MessageQueue 23.3% CPU /usr/bin/beanstalkd -l 0.0.0.0 -p 11300 23% CPU /usr/bin/memcached -m 64 -p 11211 -u memcache -l 0.0.0.0 |
Voor de mensen die wat dieper erop willen ingaan ik heb via forge (laravel) de sites ingesteld en daar de queues op aangemaakt wat bovenstaande commands aanmaakt. Heb taylor tevens als laatste optie ingezet om te vragen of hij iets weet wat hier gaande is.
Beanstalkd draait tevens ook op een behoorlijke CPU percentage maar vooruit dat mag naar mijn idee ook wel (denk ik) maar de queues op een percentage van gemiddeld 30% vind ik iets teveel van het goede.
--
Mijn vraag is dan ook of iemand hier ervaring mee heeft dat de CPU load zo hoog oploopt. Daarnaast weet iemand of ik anders een betere VPS of dergelijke moet aanschaffen om dit probleem te tackelen? Ik hoop dat ik na ruim een maand lang tot een mooie oplossing kan komen
Ben er namelijk wel een beetje op uitgekeken en de server word er nou niet echt betrouwbaar op als ik nog meer queues wil ontwikkelen.