Варианты увеличения производительности записи в Redis - PullRequest
0 голосов
/ 12 июня 2019

Мой следующий Redis Hmset для цикла 30000 занимает более 6 секунд. И с увеличением числа циклов результат также увеличивается. Есть ли способ улучшить производительность записи в течение 5 секунд.

Я попытался отредактировать файл redis.conf, чтобы отключить сохранение, сжатие rdb, aof и т. Д., Но все равно не повезло.

r = redis.StrictRedis(host='10.3.2.156', port=6379, db=2, decode_responses=True)
pipe = r.pipeline(transaction=False)

for x in range(30000):
    m = str(x)
    regactivekey = 'regactivetest||' + m
    pipe.hmset(regactivekey,{'lp': m, 'contact': '', 'regcontact': '''', 'src_ip': '127.0.0.1','regsrc_ip': '127.0.0.1',})

pipe.execute()
pipe.reset()

1 Ответ

0 голосов
/ 13 июня 2019

30000 / 6 = 5000 QPS.Вы не достигли лимита Redis.Redis намного быстрее, чем это.

Чтобы достичь более высокого QPS, вам нужно увеличить ваш параллелизм.Вместо того, чтобы запускать 30000 циклов в одном скрипте Python, вы можете разделить циклы на 5 вспомогательных циклов и запустить каждый дополнительный цикл в другом скрипте Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...