Lors de l'exécution de proc_nice(), est-ce que c'est bien le thread d'Apache? Si oui, et si l'utilisateur actuel (non-super-utilisateur) ne peut pas renoncer à sa priorité d'origine est en train de tuer le thread Apache approprié (apache_child_terminate) sur un serveur Apache 2.0x?PHP proc_nice laisse-t-il les threads Apache avec un nouveau paramètre de priorité?
Le problème est que j'essaie de limiter l'impact d'une application qui permet à l'utilisateur d'exécuter des requêtes Ad-Hack. Les requêtes peuvent être massives et la transformation résultante sur les données nécessite beaucoup de mémoire et de CPU.
J'ai déjà réécrit le processus pour qu'il soit davantage basé sur les flux, ce qui aide à la consommation de mémoire, mais j'aimerais aussi que le processus soit moins prioritaire. Cependant, je ne peux pas laisser le thread Apache en faible priorité car nous avons beaucoup de services web de haute priorité fonctionnant sur cette même boîte.
TIA
Merci pour les détails généreux. J'ai déjà divisé ce système en un système de requête/file d'attente comme vous l'avez décrit (certaines requêtes peuvent prendre des heures pour finir), bien que ce soit un service web qui fait le travail (et donc Apache est toujours impliqué). J'en ai discuté avec un collègue qui a également suggéré d'enlever un employé de la CLI pour faire le travail qui peut alors être "coupé". Je vais jeter un coup d'oeil à Gearman, mais en attendant, je vais envisager de passer à un travailleur CLI. – ChronoFish
Vous êtes les bienvenus :-) ;; Si vos tâches prennent autant de temps, une application CLI, distincte d'Apache, semble vraiment nécessaire: sinon, vous ne terminerez pas avec un processus Apache disponible pour servir les pages, un jour ou l'autre ... Encore, Amusez-vous! –