Maison > cadre php > Workerman > le corps du texte

Workman peut-il être exécuté dans plusieurs processus ?

(*-*)浩
Libérer: 2019-12-12 10:10:41
original
5464 Les gens l'ont consulté

Workman peut-il être exécuté dans plusieurs processus ?

Afin de faire jouer pleinement les performances du multi-CPU du serveur, WorkerMan prend en charge le multi-processus et le multi-tâches par défaut.

WorkerMan démarre un processus principal et plusieurs sous-processus pour fournir des services externes. Le processus principal est responsable de la surveillance des sous-processus. Les sous-processus surveillent indépendamment les connexions réseau et reçoivent, envoyer et traiter des données En raison du modèle de processus simple, ce qui rend WorkerMan plus stable et efficace. (Apprentissage recommandé : tutoriel travailleur )

Workman peut-il être exécuté dans plusieurs processus ?

Créer un processus principal (processus démon) Une fois démarré, il s'exécutera en arrière-plan pendant). longtemps, même s'il est arrêté. Supprimez la page du navigateur.

Le thread principal interroge périodiquement la base de données (MySQL) Une fois qu'une URL répondant aux conditions (éventuellement plusieurs) est trouvée, un nombre correspondant de processus enfants sont créés.

Le processus enfant doit également exister pendant une longue période, interrogeant régulièrement le serveur correspondant à l'URL pour récupérer les données

Une fois que le processus enfant a récupéré. les données requises, il enregistrera les résultats dans la base de données et se terminera de lui-même (ou sera fermé par le processus principal) ).

Principes de définition du nombre de processus

1. La somme de la mémoire occupée par chaque processus doit être inférieure à la mémoire totale (en général, chaque processus métier occupe environ 40 Mo de mémoire))

2 S'il est gourmand en IO, c'est-à-dire. , l'entreprise implique certains blocages d'E/S, tels que l'accès général au stockage tel que Mysql et Redis, qui bloquent l'accès, le nombre de processus peut être augmenté, comme Configurer jusqu'à 3 fois le nombre de cœurs de processeur.

S'il y a beaucoup de blocages et d'attentes impliqués dans l'entreprise, vous pouvez augmenter le nombre de processus de manière appropriée, par exemple 5 fois le nombre de cœurs de processeur ou même plus. Notez que les E/S non bloquantes sont gourmandes en CPU et non en E/S.

3. S'il est gourmand en CPU, c'est-à-dire qu'il n'y a pas de surcharge d'E/S bloquantes dans l'entreprise, par exemple, si des E/S asynchrones sont utilisées pour lire les ressources réseau et que le processus ne sera pas bloqué par l'entreprise. code, le nombre de processus peut être défini sur Identique au nombre de cœurs du processeur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!