Мы используем Redis 1.2.6 в производственной среде. В Redis есть 161804 клавиши. Машина имеет 2 ГБ оперативной памяти.
Проблема:
Выборочные запросы к Redis занимают в среднем 0,02 сек. Но иногда они занимают 1,5-2,0 секунды, я думаю, что каждый раз, когда Redis сохраняет измененные ключи на диске.
Одна странная вещь, которую я заметил до и после перезапуска Redis - это:
Перед перезапуском "changes_since_last_save" меняется слишком быстро и достигает 3000+ (через 5 минут) Но после перезапуска «changes_since_last_save» остается ниже 20 или около того.
Redis статистика перед перезапуском:
{:bgrewriteaof_in_progress=>"0", :arch_bits=>"64", :used_memory=>"53288487", :total_connections_received=>"586171", :multiplexing_api=>"epoll", :used_memory_human=>"50.82M", :total_commands_processed=>"54714152", :uptime_in_seconds=>"1629606", :changes_since_last_save=>"3142", :role=>"master", :uptime_in_days=>"18", :bgsave_in_progress=>"0", :db0=>"keys=161863,expires=10614", :connected_clients=>"13", :last_save_time=>"1280912841", :redis_version=>"1.2.6", :connected_slaves=>"1"}
Статистика Redis после перезапуска:
{:used_memory_human=>"49.92M", :total_commands_processed=>"6012", :uptime_in_seconds=>"1872", :changes_since_last_save=>"2", :role=>"master", :uptime_in_days=>"0", :bgsave_in_progress=>"0", :db0=>"keys=161823,expires=10464", :connected_clients=>"13", :last_save_time=>"1280917477", :redis_version=>"1.2.6", :connected_slaves=>"1", :bgrewriteaof_in_progress=>"0", :arch_bits=>"64", :used_memory=>"52341658", :total_connections_received=>"252", :multiplexing_api=>"epoll"}
Не уверен, что здесь происходит не так.
Заранее спасибо.
Сунил