web-dev-qa-db-fra.com

Statistiques: temps CPU vs temps écoulé. Quoi de plus important?

Lors du réglage des performances, ce qui est plus important:

  • Temps CPU ou temps écoulé?
  • Y a-t-il des scénarios où l'un d'eux est plus important que l'autre?

Un exemple: lors de l'optimisation des performances, le temps processeur réduira de ~ 38% mais le temps écoulé augmente de ~ 22%. Est-ce une amélioration ?

9
EnterTheCode

CPU Time est la quantité de temps processeur nécessaire au processus. Cela n'indique pas la durée . "Temps écoulé" représente la durée totale de la tâche. Si une tâche donnée utilise un parallélisme de 8 (c'est-à-dire 8 threads) et que chaque thread est utilisé à un taux de 100% sur toute la durée de la tâche, le temps processeur pourrait être de 8000 ms, tandis que le temps écoulé ne serait que de 1000 ms.

Par conséquent, un "temps écoulé" plus court indique un temps de réponse plus rapide.

Vous pouvez souhaiter un temps processeur plus court et un temps écoulé plus long si vous êtes préoccupé par la pression du processeur et ne vous souciez pas de l'expérience utilisateur.

Vous pouvez accepter un temps processeur plus long si cela entraîne une baisse du temps écoulé, car cela peut indiquer que l'utilisateur attend moins, au détriment d'une utilisation plus élevée du processeur.

On peut dire que la métrique la plus importante pour le réglage des requêtes serait temps d'attente .

13
Max Vernon

... tandis que l'optimisation des performances réduit le temps CPU de ~ 38% mais le temps écoulé augmente de ~ 22%. Est-ce une amélioration?

Cela dépend entièrement de ce que vous optimisez et pourquoi. Dans le sens le plus courant - vitesse de sortie des requêtes - ce n'est pas une amélioration, comme Max Vernon l'a noté dans sa réponse.

Cependant, si votre système est lié au processeur, alors cela serait une amélioration, car vous avez diminué la charge du processeur. En fait, si tel était le cas, le résultat final pourrait également signifier un retour plus rapide de l'ensemble de résultats.

Et si votre système était lié au disque ou à la mémoire, ce serait un résultat neutre, car rien n'indique qu'il ait amélioré ou dégradé ces mesures.

Donc, 95% du temps, Max est absolument correct - ce n'est pas une amélioration. Dans les quelques cas restants, il peut s'agir d'une amélioration.

4
Laughing Vergil