Nuestro proceso W3WP en nuestro servidor de producción es constantemente alto. No se maximiza al 100%, pero salta al 90% s un poco. Para ayudar a analizar esto, realicé un perfil de la aplicación en vivo usando JetBrains dotTrace.Detección de problemas de CPU W3WP con jetBrains dotTrace
Los resultados fueron los esperados. Todos los métodos lentos fueron NHibernate funciones que consultaron nuestra base de datos. Mi pregunta es, ¿estos métodos lentos afectarían de manera significativa a la CPU en nuestro servidor web, ya que nuestro servidor de base de datos está en una máquina separada? Seguramente si el servidor de la base de datos está haciendo algún trabajo, entonces el servidor web espera una respuesta, ¿y la CPU no debería subir?
Si este es el caso, ¿cómo utilizo dotTrace (u otra herramienta si es necesario) para determinar dónde se utiliza la CPU en lugar de esperar que el servidor responda desde otro lugar?
dotTrace captura de pantalla de los puntos calientes
Se puede ver en la captura de pantalla que la mayoría de las veces es pasar la espera de peticiones HTTP externos para completar. Sin embargo, esto no debería afectar el uso de la CPU en el servidor web. Pensé
¿Puede publicar algunas capturas de pantalla relevantes del perfil de dotTrace? –
Agregué la captura de pantalla de la zona activa a la pregunta –
¿Ha resuelto el problema? ¿Qué herramientas has usado para encontrar la fuente del mal? – Pavel