Wiki

Versión 5 (Emilio Penna, Martes, 23 de Agosto de 2022 17:49:47 -0300) → Versión 6/13 (Emilio Penna, Martes, 27 de Setiembre de 2022 17:41:00 -0300)


h1. Wiki

Currently, this page has information about moodle quiz load tests.

SITIO EN CONSTRUCCIÓN

h2. Files for load tests Archivos para pruebas de performance

Attached, in the end of this page, there are the following files:

En el adjunto, datos-para-pruebas-perf-moodle-20210908a.tar.gz se encuentra:
* Moodle respaldo de quiz backup
moodle para las pruebas
* Test users file, for enrollment in the test course
* Jmeter
script for load test jmeter (jmx)
* Users file for jmeter script usuarios_curso.csv (usuarios del curso)
* Image with upload options for users import in moodle

upload-user-options.png (opciones que hay que poner para cargar los usuarios de prueba)
* users5000.csv (usuarios para jmeter)

h2. Configuration of the jmeter Configuración del script

(The script was tested with
jmeter 5.4.1)

The El script uses se probó con jmeter 5.4.1.
El script usa unos
plugins, so the hay que descargar el plugins-manager.jar is required. It can be downloaded from de https://jmeter-plugins.org/install/Install/ and put in the y ponerlo en el directorio lib/ext directory of jmeter (jmeter restart required). de jmeter, luego reiniciarlo.

The parameters for the test are: Hay que configurarle el servidor y algunos parametros:

1. In En "Configuracion del CSV dataset" you have to set the path and name of the users file (usuarios5000.csv) ajustar la ruta al archivo de usuarios que adjunto.
2. In "plan En plan de pruebas", you have to configure the course id, pruebas, ajustar el id de curso, de quiz id and server url. y la url del servidor
3. In En "valores por defecto para peticion HTTP" set the server ajustar la url
del servidor

In En "grupo de hilos original" the threads number and 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 time can be specified. Start with only 1 thread until the test run with no errors, then try more threads, in an incremental way. In our test we used, up to 2500 threads with a de 180 seconds ramp up. segundos.

TO DO: The Algo que les comento es que el script has "Assertions" for controlling that the server response is what we expect in a successful execution, it works inspecting the tiene "assertions" donde compara fragmentos del html in the response with a pre defined text. We used, for example "Pagina 1 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 8", a text that appears in the bottom of the quiz pages. This text is in spanish, so it works if the language for the users is spanish.
For doing that you can set
eso.

Nota: los usuarios de prueba tienen que tener
lang="es" in the mdl_user table, with an 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 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