2017-01-19 7 views
2

Я настраиваю кластер Redis 3.2.6. В этом blog упоминается изменить следующие параметры для «Настройка ядро ​​сетевого стека»Настройка ядра ядра Linux для Redis 3.2.6

vm.swappiness=0      # turn off swapping 
net.ipv4.tcp_sack=1     # enable selective acknowledgements 
net.ipv4.tcp_timestamps=1    # needed for selective acknowledgements 
net.ipv4.tcp_window_scaling=1   # scale the network window 
net.ipv4.tcp_congestion_control=cubiC# better congestion algorythm 
net.ipv4.tcp_syncookies=1    # enable syn cookied 
net.ipv4.tcp_tw_recycle=1    # recycle sockets quickly 
net.ipv4.tcp_max_syn_backlog=NUMBER # backlog setting 
net.core.somaxconn=NUMBER    # up the number of connections per port 
net.core.rmem_max=NUMBER    # up the receive buffer size 
net.core.wmem_max=NUMBER    # up the buffer size for all connections 

Может кто-нибудь объяснить мне, как вышеуказанные параметры влияют на поведение Redis?

Также, кроме упомянутых выше, мне нужно изучить некоторые другие параметры для подготовки ОС для установки redis?

Environment

  • Debian 8
  • RAM - 128 GB
  • Ядра - 24

ответ

5

Большая часть этих флагов кажется связаны для оптимизации очень частых подключений TCP и латентности TCP соединения. В некоторых случаях они могут помочь, но клиенты и серверы Redis уже выполняют самую важную задачу, которая заключается в отключении алгоритма Нагле. Однако на самом деле самые важные проблемы с настройкой ядра Linux для Redis на самом деле:

  1. Отключить THP (Прозрачные огромные страницы).
  2. Разрешить память чрезмерно во время работы fork().

Если вышеуказанные установки установлены неправильно, последние версии Redis будут предупреждать вас.

Смежные вопросы