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>]
-h <hostname> Име на сървъра (по подразбиране 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 SELECT посочения номер на база данни (по подразбиране 0) -k <boolean> 1=поддържане жив 0=повторно свързване (по подразбиране 1) -<keyspacelen>r Използвайте случайни ключове за SET/GET/INCR, случайни стойности за SADD С тази опция бенчмаркът ще разшири струнния __rand_int__ в аргумент с 12-цифрено число в зададения диапазон от 0 към keyspacelen-1. Заместването се променя всеки път, когато дадена команда е екзекутирана. Стандартните тестове използват това, за да натискат случайни клавиши в определен обхват. -<numreq>P Заявки за тръбопровод.<numreq> По подразбиране 1 (без конвейер). -e Ако сървърът отговори с грешки, покажете ги на stdout. (не повече от 1 грешка в секунда се показва) -Въпрос: Тихо. Просто покажи стойности за заявка/сек --csv Изход в CSV формат -I Loop. Прави тестовете безкрайно -<tests>t Пуснете само списъка с тестове с разделени със запетая. Тестът Имената са същите като тези, произведени като изход. -Аз съм в режим на празен ход. Просто отвори N idle връзки и изчакай.
Examples:
Пуснете бенчмарка с стандартната конфигурация спрямо 127.0.0.1:6379: $ redis-бенчмарк
Използвайте 20 паралелни клиента, за общо 100k заявки, срещу 192.168.1.1: $ redis-бенчмарк -h 192.168.1.1 -p 6379 -n 100000 -c 20
Запълнете 127.0.0.1:6379 с около 1 милион ключове само чрез SET теста: $ redis-benchmark -t set -n 10000000 -r 1000000000
Бенчмарк 127.0.0.1:6379 за няколко команди, генериращи CSV изход: $ redis-benchmark -t ping,set,get -n 100000 --csv
Бенчмаркирайте конкретен команден ред: $ redis-benchmark -r 10000 -n 10000 eval 'return 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 заявки в секунда
(Край)
|