Тест производительности Redis
Тестирование производительности Redis достигается путём одновременного выполнения нескольких команд.
Синтаксис
Основная команда тестирования производительности Redis выглядит следующим образом:
redis-benchmark [option] [option value]
Примечание: эта команда выполняется в каталоге redis, а не является внутренней командой клиента redis.
Пример
В следующем примере одновременно выполняется 10000 запросов для проверки производительности:
$ 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
Необязательные параметры инструмента тестирования производительности Redis перечислены ниже:
| Порядковый номер | Опция | Описание | Значение по умолчанию |
|---|---|---|---|
| 1 | -h | Укажите имя хоста сервера | 127.0.0.1 |
| 2 | -p | Указать порт сервера | 6379 |
| 3 | -s | Указать сокет сервера | |
| 4 | -c | Указать количество одновременных подключений | 50 |
| 5 | -n | Указать количество запросов | 10000 |
| 6 | -d | Указать размер данных значений SET/GET в байтах | 2 |
| 7 | -k | 1=поддерживать соединение 0=переподключиться | 1 |
| 8 | -r | SET/GET/INCR используют случайный ключ, SADD использует случайное значение | |
| 9 | -P | Передать <numreq> запросов через конвейер | 1 |
| 10 | -q | Принудительно завершить redis. Отображать только значение запросов/сек. | |
| 11 | --csv | Вывод в формате CSV | |
| 12 | -l(строчная буква L) | Сгенерировать цикл и выполнять тест постоянно. | |
| 13 | -t | Запускать только список тестовых команд, разделённых запятыми. | |
| 14 | -I(заглавная буква I) | Режим простоя. Открыть только N простаивающих соединений и ждать. |
Пример
В следующем примере мы использовали несколько параметров для проверки производительности 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
В приведённом выше примере хост — 127.0.0.1, номер порта — 6379, выполняемые команды — set и lpush, количество запросов — 10000, а параметр -q используется, чтобы результаты отображали только количество запросов, выполненных в секунду.
Другие расширения