Redis データベースを 1 時間ごとに更新する NodeJS ワーカーがあります。この作業では、(リモート データベースでの) パフォーマンスを最大化するために、要求のグループが連続して送信されるように、バッチでリモート データベースにクエリを実行します。
応答を Redis ソート セットに書き戻すと、ときどき、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