Maison  >  Article  >  développement back-end  >  gs-fastcopy : obtenir le nombre de processeurs pour les travailleurs de téléchargement

gs-fastcopy : obtenir le nombre de processeurs pour les travailleurs de téléchargement

WBOY
WBOYoriginal
2024-07-23 13:07:15483parcourir

Voir le post précédent : Présentation de gs-fastcopy

J'ai expédié l'amélioration gs-fastcopy-python#10 : Inspecter le nombre de processeurs pour de meilleurs paramètres de téléchargement par défaut.

Auparavant, nous avions par défaut 8 travailleurs (valeur par défaut de Google). Sur un système avec plus de 8 cœurs, cela laisse beaucoup de temps inactif !

Maintenant, nous inspectons le nombre de processeurs disponibles. Nous honorons os.get_schedaffinity sur les systèmes qui le prennent en charge (processeurs disponibles pour ce processus pas seulement en général), sinon nous utilisons os.cpu_count().

Résultats du benchmarking : [fiche source]

Bar chart showing time taken to complete upload operation, with and without compressing first

Notez comment l'ajout de travailleurs accélère le processus, mais produit des rendements décroissants. Je pense que c'est à ce moment-là que le transfert réseau lui-même devient davantage un goulot d'étranglement, mais il est probable que modifier la taille des morceaux serait également utile.

Notez également les effets plus spectaculaires lors de l'utilisation de la compression (utilisation de pigz, gzip parallèle). pigz aurait déjà repéré les max Workers, ce qui est nouveau ici, c'est de les inclure également dans le téléchargement.

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!

Déclaration:
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