1. Домой
  2. Документы
  3. MicroPVR
  4. Конфигурация
  5. Рекомендации по тюнингу ОС

Рекомендации по тюнингу ОС

Рекомендуемые параметры ядра

Изменения нужно вносить в файл «/etc/sysctl.conf«:

kernel.shmmax = 2473822720
kernel.shmall = 4097152000
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_keepalive_time = 10
net.ipv4.tcp_fin_timeout = 5

Затем выполнить команду для применения изменений:

sysctl -p

Дополнительные настройки ОС при очень большом количестве одновременных подключений

В файле /etc/security/limits.conf необходимо прописать:

*               soft    nofile          16384
*               hard    nofile          16384

Рекомендуемый тип файловой системы и опции монтирования для хранилища HDD

Для обеспечения максимального быстродействия хранилища рекомендуется использовать XFS со следующими опциями:

mkfs.xfs -f -d su=512k -d sw=<sw> -l su=256k /dev/<device>

где:

  • sw — количество дисков в RAID-массиве.
  • device — название устройства, например sdc1.

Опции монтирования в /etc/fstab:

/dev/<device> <mountpoint> xfs async,noatime,nodiratime,attr2,nobarrier,logbufs=8,logbsize=256k,osyncisdsync 0 0

где:

  • device — название устройства, например sdc1.
  • mountpoint — точка монтирования, например /opt/storage.

Для SSD хранилища необходимо также добавить опции discard,relatime.

Количество аппаратных очередей на сетевой карте

При большом объеме UDP-трафика необходимо использовать сетевые карты Enterprise-уровня, у которых есть аппаратные очереди пакетов. Однако даже в этом случае по умолчанию эти очереди могут быть не задействованы:

# ethtool -l enp3s0f1:
Channel parameters for enp3s0f1:
Pre-set maximums:
RX:		0
TX:		0
Other:		1
Combined:	8
Current hardware settings:
RX:		0
TX:		0
Other:		1
Combined:	1

В этом примере — всего доступно 8, но используется 1. Чтобы это поменять:

# ethtool -L enp4s0f1 combined 8
# ethtool -l enp4s0f1
Channel parameters for enp3s0f1:
Pre-set maximums:
RX:		0
TX:		0
Other:		1
Combined:	8
Current hardware settings:
RX:		0
TX:		0
Other:		1
Combined:	8

Изменение режима работы процессоров

Для максимальной производительности CPU необходимо перевести все ядра в режим performance: https://ixnfo.com/izmenenie-cpu-scaling-governor-v-linux.html.

Увеличение txqueuelen

Значение по умолчанию 1000 может не хватать для очереди пакетов, стоит поставить 10000:

ifconfig eno1 ifconfig eno1 txqueuelen 10000