Wiki
Versión 3 (Emilio Penna, Martes, 23 de Agosto de 2022 17:47:14 -0300) → Versión 4/13 (Emilio Penna, Martes, 23 de Agosto de 2022 17:49:26 -0300)
h1. Wiki
SITIO EN CONSTRUCCIÓN
h2. Archivos para pruebas de performance
En el adjunto, datos-para-pruebas-perf-moodle-20210908a.tar.gz se encuentra:
* respaldo de quiz moodle para las pruebas
(no usar este, usar otro mas reciente que se menciona más adelante)
* script jmx
* usuarios_curso.csv (usuarios del curso)
* upload-user-options.png (opciones que hay que poner para cargar los usuarios de prueba)
* users5000.csv (usuarios para jmeter)
Dado que daba errores el quiz al importarlo en un moodle 3.9, se adjunta un nuevo respaldo del quiz.
h2. Configuración del script jmeter
El script se probó con jmeter 5.4.1.
El script usa unos plugins, hay que descargar el plugins-manager.jar de https://jmeter-plugins.org/install/Install/ y ponerlo en el directorio lib/ext de jmeter, luego reiniciarlo.
Hay que configurarle el servidor y algunos parametros:
1. En "Configuracion del CSV dataset" ajustar la ruta al archivo de usuarios que adjunto.
2. En plan de pruebas, ajustar el id de curso, de quiz y la url del servidor
3. En "valores por defecto para peticion HTTP" ajustar la url del servidor
En "grupo de hilos original" ajustar la cantidad de hilos y el tiempo de ramp up. En nuestras pruebas usabamos por ejemplo 2000 hilos (2000 usuarios) y un ramp up de 180 segundos.
Algo que les comento es que el script tiene "assertions" donde compara fragmentos del html recibido para saber si la respuesta fue correcta. Esos fragmentos es posible que difieran con su ambiente, así que capaz hay que ajustar algo de eso.
Nota: Otra cosa: los usuarios de prueba tienen que tener lang="es" en la tabla mdl_user, pues compara textos en los assertions y si está en inglés no matchea, eso lo pueden ajustar con update mdl_user set lang='es' where username like 'prueba%';
h2. Comentarios sobre las pruebas
Para Otra cosa: para correr el script, hemos observado que el máximo son unos 1500-2000uv por cliente (pc que ejecuta el script y envia los pedidos), si la exigen demasiado les va a dar errores pero puede ser porque el cliente no lo soporta, en ese caso hay que ejecutar en más de un cliente.
Para correr por linea de comando:
<pre>
$ ./jmeter -n -t /home/epenna/moodle-quiz3-v1.jmx -l /home/epenna/jmeterout.jtl
</pre>
h2. PENDIENTES
* tema assertion, ver alternativa independiente del idioma