Ajustar o kernel do Linux para alta taxa de transferência de rede é uma arte baseada no equilíbrio.
Aumentar a Tabela do Controlador de Conexões é bom, mas significa que mais soquetes são potencialmente usados, o que significa que o sistema precisa de mais Descritores de Arquivo, e a roda continua ...
No seu caso, eu começaria com as seguintes configurações do kernel:
net.core.somaxconn
e
fs.file-max
O primeiro determina a quantidade de soquetes abertos que o kernel irá sustentar. O segundo é usado para definir a quantidade de descritores de arquivo usados que serão suportados pelo kernel.
Depois, há o backlog SYN que pode ser melhorado ainda mais.
net.ipv4.tcp_max_syn_backlog
Ajustará a quantidade de conexão que pode aguardar um ACK do seu servidor.
net.ipv4.tcp_syncookies
Para que o SYN Backlog funcione, você precisa ativar os cookies TCP SYN.
Finalmente, também há alguns ajustes que podem ser feitos, como a ativação da reutilização da conexão TIME_WAIT.
net.ipv4.tcp_tw_reuse
Isso pode reduzir potencialmente a quantidade de "novos" soquetes que seriam abertos quando você receber um pico.
Essa é apenas a ponta do iceberg, minha experiência com o sistema Linux / Unix de alto volume é que você irá ajustá-lo por alguns meses antes de obter o equilíbrio certo.
Verifique os erros em /var/log/kern.log
e /var/log/messages
para ajudar a solucionar problemas adicionais.