Prueba de rendimiento de Redis
La prueba de rendimiento de Redis se logra ejecutando múltiples comandos simultáneamente.
Sintaxis
El comando básico para la prueba de rendimiento de redis es el siguiente:
redis-benchmark [option] [option value]
Nota: Este comando se ejecuta en el directorio de redis, no es una instrucción interna del cliente redis.
Ejemplo
El siguiente ejemplo ejecuta 10000 solicitudes simultáneamente para probar el rendimiento:
$ redis-benchmark -n 10000 -q PING_INLINE: 141043.72 requests per second PING_BULK: 142857.14 requests per second SET: 141442.72 requests per second GET: 145348.83 requests per second INCR: 137362.64 requests per second LPUSH: 145348.83 requests per second LPOP: 146198.83 requests per second SADD: 146198.83 requests per second SPOP: 149253.73 requests per second LPUSH (needed to benchmark LRANGE): 148588.42 requests per second LRANGE_100 (first 100 elements): 58411.21 requests per second LRANGE_300 (first 300 elements): 21195.42 requests per second LRANGE_500 (first 450 elements): 14539.11 requests per second LRANGE_600 (first 600 elements): 10504.20 requests per second MSET (10 keys): 93283.58 requests per second
Los parámetros opcionales de la herramienta de prueba de rendimiento de redis son los siguientes:
| N.º | Opción | Descripción | Valor predeterminado |
|---|---|---|---|
| 1 | -h | Especifica el nombre de host del servidor | 127.0.0.1 |
| 2 | -p | Especifica el puerto del servidor | 6379 |
| 3 | -s | Especifica el socket del servidor | |
| 4 | -c | Especifica el número de conexiones concurrentes | 50 |
| 5 | -n | Especifica el número de solicitudes | 10000 |
| 6 | -d | Especifica el tamaño de datos de los valores SET/GET en bytes | 2 |
| 7 | -k | 1=keep alive 0=reconnect | 1 |
| 8 | -r | SET/GET/INCR usan claves aleatorias, SADD usa valores aleatorios | |
| 9 | -P | Transfiere <numreq> solicitudes mediante tubería (pipe) | 1 |
| 10 | -q | Fuerza la salida de redis. Solo muestra el valor de query/sec | |
| 11 | --csv | Salida en formato CSV | |
| 12 | -l(la letra minúscula de L) | Genera un bucle, ejecuta la prueba indefinidamente | |
| 13 | -t | Ejecuta solo la lista de comandos de prueba separados por comas. | |
| 14 | -I(la letra mayúscula de i) | Modo inactivo. Solo abre N conexiones inactivas y espera. |
Ejemplo
En el siguiente ejemplo, usamos varios parámetros para probar el rendimiento de redis:
$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q SET: 146198.83 requests per second LPUSH: 145560.41 requests per second
En el ejemplo anterior, el host es 127.0.0.1, el puerto es 6379, los comandos ejecutados son set, lpush, el número de solicitudes es 10000, y mediante el parámetro -q se hace que el resultado muestre solo el número de solicitudes ejecutadas por segundo.
Otras extensiones