J'ai beaucoup de scripts exĂ©cutant cron programmĂ© sur VPS exĂ©cutant Ubuntu De time en time, lorsque la charge du server devient lourde je mĂšne Munin comme outil de surveillance, je remarque dans mes journaux que beaucoup de scripts en cours d'exĂ©cution sont tuĂ©s et la seule chose que je vois est "TerminĂ©" Ă la fin du file journal. Ce n'est pas le time d'exĂ©cution maximum de PHP car il est dĂ©fini assez longtime. Est-ce quelque chose que mon fournisseur de VPS fait pour lutter contre la charge ou est-ce quelque chose que Ubuntu fait pour garder le systĂšme rĂ©actif? Selon Munin, mon VPS est assez mal configurĂ©. Je vois que j'ai plus de 30 gigs de memory, mĂȘme si je ne paye que 512 Mo. Aussi, j'ai remarquĂ© que j'ai toujours plus de 512 Mo, surtout pendant les charges lourdes. C'est pourquoi je me request si c'est quelque chose que mon fournisseur de VPS fait. En fait, s'ils venaient tout de suite et m'ont dit que je fonctionnais trop haut, je passerais volontiers Ă un package de 1 Go, mais la fin des scripts sans aucune notification n'est pas une trĂšs bonne pratique Ă mon avis. Comment dĂ©terminer ce qui utilise toutes mes ressources de serverGestion d'un VPS Linux distantLes sous-domaines ne se rĂ©solvent pas sur mon server de productionbenchmarking d'un systĂšme vpsQuel est le server de messagerie de base le plus lĂ©ger pour Linux? Comment puis-je aborder une adresse e-mail individuelle sur mon domaine alors que le server est virtuellement hĂ©bergĂ©?Comment puis-je append eth0 sur centos 5 qui utilise openvzProblĂšmes de security de la command Running avec script PHPVĂ©rifier si mon nom d'hĂŽte est correct ovh vps + centos7Comment gĂ©rer un Virtual Private Server non managĂ©Vous souhaitez apather tout le trafic Internet via VPNComment connaĂźtre la quantitĂ© rĂ©elle de RAM dans un VPSLa politique VPS dĂ©finit les limitations d'utilisation du processeur L'expiration du script par dĂ©faut pour PHP est de 30 secondes. Il peut ĂȘtre modifiĂ© dans le file ou via la fonction set_time_limit . Ătes-vous sĂ»r que les scripts sont correctement exĂ©cutĂ©s et ne se sont pas endommagĂ©s dans le journal des erreurs? Ă quel moment votre timeout actuel est-il dĂ©fini et comment avez-vous jugĂ© que ce n'est pas le timeout qui la termine?
si votre tĂąche est de tĂ©lĂ©charger un jeu de donnĂ©es Ă©norme ou de le traiter sur le serveur, tout en mettant Ă jour le progrĂšs sur le serveur, vous devriez envisager d'aller avec une sorte d'architecture de travaux, oĂč vous initiez le travail et le faire avec un autre script tournant sur le serveur par exemple Mise Ă l'Ă©chelle / traitement des images etc. En cela vous faites une chose Ă la fois, formant ainsi un pipeline de tĂąches oĂč il y a une entrĂ©e et une sortie finale traitĂ©e. Ă chaque Ă©tape du pipeline l'Ă©tat de la tĂąche est mis Ă jour Ă l'intĂ©rieur de la base de donnĂ©es qui peut alors ĂȘtre envoyĂ© Ă l'utilisateur par n'importe quel mĂ©canisme de poussĂ©e de serveur qui existe ces jours-ci. L'exĂ©cution d'un script unique qui gĂšre les tĂ©lĂ©chargements et les mises Ă jour place la charge sur votre serveur et vous restreint que faire si le navigateur ferme, et si une autre erreur se produit. Lorsque le processus est divisĂ© en Ă©tapes, vous pouvez reprendre une tĂąche Ă©chouĂ©e Ă partir du point oĂč elle a rĂ©ussi en dernier. il existe plusieurs façons de le faire. Mais le flux global du processus on dirait que c'est la mĂ©thode suivante est ce que j'ai fait pour un projet personnel et ce script tenu bon pour le tĂ©lĂ©chargement et le traitement des milliers d'image de haute rĂ©solution Ă mon serveur qui ont ensuite Ă©tĂ© rĂ©duits en versions multiples et tĂ©lĂ©chargĂ© sur amazon s3 tout en reconnaissant les objets Ă l'intĂ©rieur d'eux. Mon code original Ă©tait en python Ătape 1 initient le transport ou tĂąche tĂ©lĂ©chargez D'abord votre contenu, puis renvoyez immĂ©diatement un ID de transaction ou uuid pour cette transaction via une simple requĂȘte postale. Si vous faites plusieurs fichiers ou de plusieurs choses Ă la tĂąche, vous pouvez Ă©galement gĂ©rer cette logique dans cette Ă©tape Ătape 2 Faire le travail et de Retour, le progrĂšs. une fois que vous avez compris comment les transactions se produisent, vous pouvez alors utiliser n'importe quel cĂŽtĂ© du serveur push technologie pour envoyer des paquets de mise Ă jour. Je choisirais WebSocket ou le serveur a envoyĂ© des Ă©vĂ©nements selon le cas en retombant Ă un long sondage sur les navigateurs non pris en charge. Une mĂ©thode simple de SSE ressemblerait Ă ceci. function TrackProgressupload_id{ var progress = var source = new EventSource'/status/task/' + upload_id ; = function event { var data = getDataevent; // your custom method to get data, i am just using json here ; ; 0; }; } files files }.thenfunctiondata{ return }.thenTrackProgress; cĂŽtĂ© serveur, vous devrez crĂ©er quelque chose qui garde une trace des tĂąches, une architecture de tĂąches simple avec job_id et progress envoyĂ© Ă la db suffira. Je vous laisserais l'horaire du travail et le routage aussi, mais aprĂšs cela le le code conceptuel pour L'ESS la plus simple qui suffira du code ci-dessus est le suivant. $ 'filesTotal' => $ echo 'data ' . json_encode $json_payload . '\n\n'; ob_flush; flush; // End of the game if $ { die; } } while True { sendStatusViaSSE $request.$task_id ; sleep4; } ?> un bon tutoriel sur SSE peut ĂȘtre trouvĂ© ici et vous pouvez en savoir plus sur la mise Ă jour depuis le serveur sur cette question mise Ă jour depuis le serveur ce qui prĂ©cĂšde Ă©tait une explication conceptuelle, il ya d'autres façons d'atteindre mais c'Ă©tait la solution qui a pris soin d'un assez Ă©norme tĂąche dans mon cas.
Estce quelque chose que mon fournisseur de VPS fait pour lutter contre la charge ou est-ce quelque chose que Ubuntu fait pour garder le systĂšme rĂ©actif? Selon Munin, mon VPS est assez mal configurĂ©. Je vois que j'ai plus de 30 gigs de memory, mĂȘme si je ne paye que 512 Mo. Aussi, j'ai remarquĂ© que j'ai toujours plus de 512 Mo, surtout