2010-04-24 24 views
0

J'ai deux serveurs, un noyau tournant i7 920 (8 CPU logiques à 2.8Ghz), l'autre exécutant Xeon X3430 (4 CPU logiques à 2.4Ghz). Pour la même application .NET 4, l'utilisation du processeur sur la première machine est de 6%; sur la deuxième machine c'est 50%! Je me demande ce qui fait cette énorme différence. Et comment puis-je diagnostiquer la cause du problème?Différence d'utilisation CPU énorme pour le même programme .NET 4 sur différentes machines

+0

Vous parlez de l'utilisation d'une seule CPU à 50%, ou de toutes les utilisations de la CPU? –

+0

Vous attendez 2 processeurs différents pour donner la même performance? – markt

+0

Non, l'utilisation du processeur est la valeur globale. Je m'attendais à ce que l'utilisation sur la machine la plus lente soit au plus deux fois, ou 12%, pas 50% (8 fois la différence). –

Répondre

2

Ce n'est pas seulement le CPU qui compte, est-ce que vous saturez les E/S? La machine plus rapide est tellement plus rapide qu'elle écrit beaucoup plus de données que le CPU ne peut pas suivre, alors que la machine plus lente cliquète et que le CPU est pleinement utilisé.

Le verrouillage peut également avoir un rôle à jouer, je sais qu'une application de test simple que j'ai écrite il y a longtemps a montré de grandes différences de performance entre les systèmes monocœur et quadricœur. (Le noyau simple était beaucoup plus rapide, je pense que .NET a optimisé les serrures à l'extérieur alors que le quad core a souffert).

En bref, à moins d'avoir un peu plus d'informations sur le problème, personne ne peut vous donner autre chose que des suppositions quant à la cause.