Redis можна використовувати для проведення стрес-тестування за допомогою вбудованого інструменту redis-бенчмарку, який простий у використанні:
- У Linux файл є redis-бенчмарком
- У Windows файл redis-benchmark.exe
Ця стаття використовується уredis-5.0.3 використовується в системах CentOSДля проведення бенчмарку продуктивності параметри такі:
Неправильна опція "-help" або аргумент опції відсутній
Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests>] [-k <boolean>]
-<hostname>h Ім'я хоста сервера (за замовчуванням 127.0.0.1) -<port>p Порт сервера (за замовчуванням 6379) -<socket>s Серверний сокет (перекреслює хост і порт) -<password>пароль для Redis Auth -<clients>c Кількість паралельних з'єднань (за замовчуванням 50) -n <requests> Загальна кількість запитів (за замовчуванням 100000) -d <size> Розмір даних значення SET/GET у байтах (за замовчуванням 3) --<db>dbnum ВИБЕРІТЬ вказаний номер баз даних (за замовчуванням 0) -k <boolean> 1=keep alive 0=reconnect (за замовчуванням 1) -<keyspacelen>r Використовуйте випадкові ключі для SET/GET/INCR, випадкові значення для SADD Використовуючи цю опцію, бенчмарк розширить рядковий __rand_int__ всередині аргументу з числом із 12 цифр у заданому діапазоні від 0 до keyspacelen-1. Заміна змінюється щоразу, коли виконується команда страчено. Стандартні тести використовують це для натискання випадкових клавіш у вказаний радіус дії. -<numreq>P Запити на трубопровод.<numreq> За замовчуванням 1 (без конвеєра). -e Якщо сервер відповідає помилками, показуйте їх на stdout. (відображається не більше 1 помилки за секунду) -q Тихо. Просто покажіть значення запиту/сек --csv Вихід у форматі CSV -I Loop. Запускайте тести вічно -<tests>t Запускайте лише список тестів з розділеними комами. Тест Імена такі ж, як і ті, що видаються як вихідні. -Я в режимі простою. Просто відкрийте N з'єднання в режимі простою і зачекайте.
Examples:
Запустіть бенчмарк із стандартною конфігурацією на рівні 127.0.0.1:6379: $ redis-бенчмарк
Використовуйте 20 паралельних клієнтів, загалом 100 тис. запитів, проти 192.168.1.1: $ redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20
Заповніть 127.0.0.1:6379 приблизно 1 мільйоном ключів лише за допомогою тесту SET: $ redis-benchmark -t set -n 1000000 -r 100000000
Бенчмарк 127.0.0.1:6379 для кількох команд, що генерують CSV-вихід: $ redis-benchmark -t ping,set,get -n 100000 --csv
Бенчмаркуйте конкретний командний рядок: $ Redis-Benchmark -R 10000 -N 10000 Eval 'Повернути Redis.call("ping")' 0
Заповніть список 10000 випадкових елементів: $ redis-benchmark -r 10000 -n 10000 lpush mylist __rand_int__
У командних рядках, визначених користувачем__rand_int__ замінюється випадковим цілим числом з діапазоном значень, обраних опцією -r. 1000 запитів надсилаються на сервер redis, кожен із яких супроводжується 400 одночасними клієнтами, які безшумно відображаються з наступною командою:
Результати тестів:
SET: 43478.26 запитів за секунду, GET: 40000.00 запитів за секунду
(Кінець)
|