Manera correcta de usar PerformanceCounter en .NET para medir el uso de la CPU

Quiero medir el rendimiento de mi clase de negocios en un servicio web. ¿Cómo puedo hacerlo a través de la codificación?

Quiero saber cuánta CPU consume mi clase de negocios para realizar su operación y cómo varía el rendimiento si el servicio web recibe múltiples llamadas de servicio simultáneas.

No quiero medir el rendimiento de mi servicio web; Solo quiero saber cómo se está desempeñando mi clase de negocios.

Mi pensamiento:

Después de leer algunos blogs, decido escribir un fragmento de código que creará unPerformanceCounter Como se muestra abajo. Desde ese código, puedo crear múltiples hilos en unofor lazo. Cada hilo llamará a mi clase. Y en el mismofor bucle, voy a llamar alNextValue() Método en la instancia de contador.

System.Diagnostics.PerformanceCounter CpuCounter = new System.Diagnostics.PerformanceCounter();
            CpuCounter.CategoryName = "Process";
            CpuCounter.CounterName = "% Processor Time";
            CpuCounter.InstanceName = Process.GetCurrentProcess().ProcessName;

Preguntas:

¿Es este enfoque correcto?¿Debo usar la categoría "Proceso" o la categoría "Procesador"?¿Cómo puedo obtener datos de rendimiento para crear algún informe a partir de él? p.ej. Con 100 subprocesos simultáneos, el uso de la CPU es del 70%, con 200 subprocesos aumenta hasta el 90%, etc.Mi lógica de negocios termina muy rápido. Y por otro lado,NextValue() El método da el valor correcto después de un intervalo de un segundo como se menciona enesta Blog. ¿Cómo puedo manejar esto?Algunas veces,NextValue() el método da un valor por encima de 100. ¿Significa esto que el uso de la CPU es más del 100%? (Creo que el valor de este contador no debe interpretarse como% de uso de la CPU. ¿Estoy en lo correcto?)

Nota: Estoy usando Windows 7 Premium y el procesador Intel Core i5. Esta es la primera vez que estoy usando Contadores de Rendimiento. Así que algunas de las preguntas pueden ser tontas.

Respuestas a la pregunta(1)

Su respuesta a la pregunta