es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Uso de CPU de una consulta en Laravel.

Mi objetivo principal aquí es obtener el uso de %CPU de una consulta dada para poder encontrar cuellos de botella en mi programa. Aunque he estado utilizando Laravel Debugbar para obtener cosas como el tiempo de ejecución de la consulta y el uso de memoria, no veo una forma de obtener el %CPU utilizado. ¿Alguien puede indicarme en la dirección correcta?

Intenté utilizar la función sys_getloadavg() de la siguiente manera, pero creo que no devuelve lo que quiero:

$cpu_load = sys_getloadavg();
Log::info(“PRIMERO: ” . $cpu_load[0] . ‘% / 100%’. ‘\n’);
Log::info(“PRIMERO RECIENTE: ” . $cpu_load[1] . ‘% / 100%’ . ‘\n’);
Log::info(“PRIMERO RECIENTE-ISH: ” . $cpu_load[2] . ‘% / 100%’ . ‘\n’);

// Realizar consultas aquí
DB::table(‘stems’)->insert($data);

$cpu_load = sys_getloadavg();
Log::info(“SEGUNDO: ” . $cpu_load[0] . ‘% / 100%’. ‘\n’);
Log::info(“SEGUNDO RECIENTE: ” . $cpu_load[1] . ‘% / 100%’ . ‘\n’);
Log::info(“SEGUNDO RECIENTE-ISH: ” . $cpu_load[2] . ‘% / 100%’ . ‘\n’);

Esta es la salida del registro:

[2021-11-19 04:15:03] local.INFO: PRIMERO: 1.544921875% / 100%
[2021-11-19 04:15:03] local.INFO: PRIMERO RECIENTE: 2.01220703125% / 100%
[2021-11-19 04:15:03] local.INFO: PRIMERO RECIENTE-ISH: 1.78173828125% / 100%

[2021-11-19 04:15:27] local.INFO: SEGUNDO: 1.45166015625% / 100%
[2021-11-19 04:15:27] local.INFO: SEGUNDO RECIENTE: 1.96142578125% / 100%
[2021-11-19 04:15:27] local.INFO: SEGUNDO RECIENTE-ISH: 1.76806640625% / 100%

Observe que los segundos usos de %CPU son menores que los primeros, lo cual no parece correcto porque esperaría que el %CPU aumente después de que se ejecute la consulta.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando usar sys_getloadavg() para obtener el uso de %CPU de una consulta determinada. Desafortunadamente, esta función no devuelve el uso de %CPU de una consulta, sino el promedio de carga de CPU en todo el sistema durante un período de tiempo.

    Puede ser útil utilizar la función PHP getrusage() para obtener el uso de CPU de una consulta específica. Esta función devuelve una matriz de información sobre los recursos utilizados por el proceso actual, incluido el tiempo de CPU utilizado.

    También puedes utilizar la extensión PHP XHProf para obtener información detallada sobre el uso de CPU de una consulta determinada. XHProf es un perfilador potente que se utiliza para medir el rendimiento de su código.

Comments are closed.