我有一个 NodeJS 工作者,它每小时更新我的 Redis 数据库。该工作批量查询远程数据库,从而将请求组串行发送,从而最大限度地提高性能(在远程数据库上)。
当我将响应写回我的 Redis Sorted Set(s) 时,我观察到 -有时- 从 Redis 数据库读取的速度非常慢,并且执行起来就好像发生了阻塞一样。
我已尽我最大的努力来确定为什么这种情况只是偶尔发生,但我无法可靠地复制性能,也无法以任何系统的方式复制。
性能会下降这么多有什么好的理由吗?我错过了什么吗?
窗口上的 Redis:
redis_version:2.4.6
redis_git_sha1:26cdd13a
redis_git_dirty:0
arch_bits:64
multiplexing_api:winsock2
gcc_version:4.6.1
process_id:7512
uptime_in_seconds:202034
uptime_in_days:2
lru_clock:23886
used_cpu_sys:290.65
used_cpu_user:2261.94
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:3
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:780833728
used_memory_human:744.66M
used_memory_rss:780833728
used_memory_peak:780849896
used_memory_peak_human:744.68M
mem_fragmentation_ratio:1.00
mem_allocator:libc
loading:0
aof_enabled:0
changes_since_last_save:-26
bgsave_in_progress:0
last_save_time:1384359002
bgrewriteaof_in_progress:0
total_connections_received:6
total_commands_processed:12908729
expired_keys:0
evicted_keys:0
keyspace_hits:12907834
keyspace_misses:888
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=698,expires=0