perf: Une petite bibliothèque ngx resty lua pour évaluer la mémoire et le débit d'une fonction
Installation
Si vous n'avez pas configuré d'abonnement au dépôt RPM, inscrivez-vous. Ensuite, vous pouvez procéder avec les étapes suivantes.
CentOS/RHEL 7 ou Amazon Linux 2
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install lua-resty-perf
CentOS/RHEL 8+, Fedora Linux, Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install lua5.1-resty-perf
Pour utiliser cette bibliothèque Lua avec NGINX, assurez-vous que nginx-module-lua est installé.
Ce document décrit lua-resty-perf v1.0.4 publié le 14 avril 2021.
Une simple bibliothèque resty lua pour évaluer la mémoire et le débit d'une fonction.
local function mycode()
local x = {}
for i = 1, 1e3 do
local now = ngx.now()
now = now - 45 + i
x[i] = now
end
return x
end
perf.perf_time("mycode cpu profiling", function()
mycode()
end)
perf.perf_mem("mycode memory profiling", function()
mycode()
end)
docker run -it --rm -v ${PWD}/test.lua:/test.lua -v ${PWD}/lib/resty/perf.lua:/lib/resty/perf.lua openresty/openresty:xenial resty /test.lua

GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-perf.