redis clusterが実際に直面する問題
L331.forkの消費時間による高同時要求遅延:info statsパラメータlast_fork_usec最近のfork時間最適化:forkの消費時間はredisメインプロセスのメモリと関係があり、一般的にredis内に10 G以内が存在することを制御する.AOFブロック問題fsyncが2秒を超えると、書き込み要求がブロックされ、主からoffset偏差が大きすぎることによるデータ損失の最適化を防止する:ハードディスクの書き込み速度を最適化する.主にレプリケーション遅延問題info replicationからmasterのoffsetとslaveのoffsetを問い合わせる.しかし、slaveがmasterより大きい場合もあり、この場合、スクリプトによる監視警報が必要である.プライマリスレーブレプリケーション嵐複数のslaveマウントmasterが同時に全量レプリケーションを行うと、大量の帯域幅が最適化されます.ツリーマウント5を使用します.Linuxカーネルの最適化はredis 1)vmを高める.overcommit_memory 0:十分なメモリがあるかどうかをチェックします.ないと申請メモリに失敗します1:メモリの使用を許可します2:メモリアドレス空間がswap+50%を超えてはいけません.0であればforkのような操作が失敗し、申請が十分なメモリ空間cat/proc/sys/vm/overcommit_memoryecho "vm.overcommit_memory=1">>/etc/sysctl.confsysctl vm.overcommit_memory=1
2) swapiness
cat /proc/version, linux
linux <3.5, swapiness 0, swap oom killer( )
linux >=3.5, swapiness 1, swap oom killer
echo 0 > /proc/sys/vm/swappiness
echo vm.swapiness=0 >> /etc/sysctl.conf
3)
ulimit -n 10032 10032
4) tcp backlog
cat /proc/sys/net/core/somaxconn
echo 511 > /proc/sys/net/core/somaxconn