Optimización del tamaño de ventana de TCP para instancias virtuales
Utilice las directrices siguientes para ajustar el tamaño de la ventana TCP en una instancia de servidor virtual para obtener un rendimiento óptimo en un hipervisor de IBM Cloud®. Los hosts virtuales de IBM Cloud tienen un tamaño de almacenamiento intermedio TCP predeterminado con el rango de 3 a 6 MB.
Para obtener el mejor rendimiento de su instancia de servidor virtual, necesitará establecer el tamaño de ventana de TCP por debajo del rango de 3 a 6 MB. El kernel establece el límite de memoria real en el doble del valor solicitado, duplicando de manera efectiva los valores máximos. Mantenga el tamaño máximo de la ventana de TCP en 2 MB o menos. Con el ajuste automático habilitado, el tamaño del almacenamiento dinámico de recepción (y el tamaño de ventana de TCP) se actualiza de forma dinámica para cada conexión. Los valores predeterminados del espacio de memoria por conexión se establecen con las siguientes matrices de elementos.
net.ipv4.tcp_rmem
es la memoria reservada para los buffers de recepción TCPnet.ipv4.tcp_wmem
es la memoria reservada para los buffers de envío TCP
Los valores de estas matrices son los tamaños de almacenamiento intermedio mínimo, inicial y máximo que puede utilizar para establecer los límites del ajuste automático y equilibrar el uso de memoria. Para ver la configuración actual de la ventana
de memoria, ejecute el comando sysctl -a | grep mem
# sysctl -a | grep mem
vm.overcommit_memory = 0
vm.nr_hugepages_mempolicy = 0
vm.lowmem_reserve_ratio = 256 256 32
vm.meminfo_legacy_layout = 1
vm.memory_failure_early_kill = 0
vm.memory_failure_recovery = 1
net.core.wmem_max = 124928
net.core.rmem_max = 124928
net.core.wmem_default = 124928
net.core.rmem_default = 124928
net.core.optmem_max = 20480
net.ipv4.igmp_max_memberships = 20
net.ipv4.tcp_mem = 365184 486912 730368
net.ipv4.tcp_wmem = 4096 16384 1048576
net.ipv4.tcp_rmem = 4096 87830 1048576
net.ipv4.udp_mem = 365184 486912 730368
net.ipv4.udp_rmem_min = 4096
net.ipv4.udp_wmem_min = 4096
Para ver todos los valores de TCP, ejecute el mandato: sysctl -a | grep tcp
Compruebe que las características TCP estándares avanzadas estén habilitadas:
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
Para verificar si el ajuste automático está habilitado, verifique que la siguiente configuración tenga un valor de "1".
net.ipv4.tcp_moderate_rcvbuf = 1
Para cambiar la configuración de su ventana TCP, agregue la configuración a su /etc/sysctl.conf
archivo.
Para conservar los cambios entre reinicios, asegúrese de añadir los mandatos de ajuste en el archivo rc.local
.