Este hallazgo no señala un problema en la base de datos. Explica un número extraño del perfil: tiempo no contabilizado negativo, que viene de la forma en que el sistema operativo mide la CPU.
Síntomas
En el Diagnóstico aparece el hallazgo CPU medida por encima del tiempo transcurrido (CPU_ACIMA_DO_DECORRIDO), con un porcentaje negativo del tiempo total. El texto dice que es un efecto de la granularidad de la medición de CPU en llamadas cortas y que no indica un problema en la base de datos, y termina con Ver en el perfil.
El hallazgo aparece cuando el componente tiempo no contabilizado dentro de las llamadas queda claramente negativo. La gravedad es siempre baja. En el perfil, el componente aparece con valor negativo, al final de la lista.
Causa
El tiempo no contabilizado dentro de una llamada es la duración (e=) menos la CPU (c=), las esperas y las llamadas hijas. La duración y la CPU vienen de mediciones diferentes del sistema operativo, y la de CPU es más gruesa. En llamadas cortas, el error de esa medición puede dejar la CPU por encima de la duración; sumado en muchas llamadas, el resultado queda negativo.
En traces antiguos, con el tiempo en centésimas de segundo, el efecto es mayor. El informe muestra la unidad en Unidad de tiempo, en el cuadro Sesión y entorno del Resumen.
Solución
- No hay nada que corregir en la base de datos. Lea el perfil normalmente y ataque el mayor componente positivo (el método).
- Tenga en cuenta que la CPU del perfil está por encima de la real en más o menos el tamaño del valor negativo. Si la CPU es el mayor componente, su peso está un poco inflado.
- Para comprobar la explicación, vea en la distribución de latencia de las llamadas, como FETCH (duración e de la llamada), si la mayoría cae en los rangos más cortos.
Cómo confirmar
Como el hallazgo no señala un problema, no hay corrección que medir. En un trace nuevo de la misma operación, el valor negativo puede volver mientras la sesión haga muchas llamadas cortas. Si la operación pasa a hacer menos llamadas, y más largas, el valor se acerca a cero.
En el informe
El informe de ejemplo no tiene este hallazgo: allí el componente es positivo, con el 2,3% del tiempo total. Los enlaces abren las secciones del ejemplo:
- Diagnóstico: el hallazgo, con el porcentaje negativo y el enlace Ver en el perfil.
- Perfil, fila tiempo no contabilizado dentro de las llamadas: el valor negativo en Duración (s) y en % del total. El texto del perfil también avisa que el valor negativo viene de la granularidad de la medición de CPU.
- Distribución de latencia del FETCH y de las otras llamadas: cuántas llamadas son cortas.
- Resumen: Unidad de tiempo, en el cuadro Sesión y entorno.