2015-03-31 2 views
1

В соответствии с Redis's memory optimization page можно настроить настраиваемый set-max-intset-entries, чтобы оптимизировать память для больших наборов целых чисел. Я провел некоторое тестирование с целыми числами меньше 2M, установив set-max-intset-entries на 10000. Я обнаружил, что каждый int усреднял около 4 байтов, когда набор был меньше максимального, а когда дольше max, каждый int составлял около 60 байт.Даунсайд к настройке Set-max-intset-записей Redis слишком велик?

Однако страница оптимизации памяти также говорит о том, что при увеличении этого макс. Откуда возникает компромисс производительности при увеличении этого максимума, и есть ли способ, которым я могу запускать тесты, чтобы я мог количественно оценить компромисс, который я делаю?

ответ

0

Компромисс в ЦП должен быть в то же время для выполнения связанной команды, такой как SADD или SCARD.

Основной процесс, используемый комиссаром, заключается в том, чтобы вытащить командные команды перед запуском теста и после этого, и определить отличные отличия, например команды SADD. Сделайте это с помощью таблицы настроек и посмотрите на результаты. Конечно, вы захотите повторно запустить тесты, чтобы получить большой размер выборки.

Следует отметить, что вы хотите сохранить и перезапустить между тестами, где вы меняете настройку памяти, поскольку Redis не реструктурирует данные при изменении этого параметра. Это самый простой способ сохранить данные и использовать разные настройки.

Как только вы нажмете порог, вы увидите время для запуска набора команд (или уменьшите, если вы идете в другую сторону).