Whitepaper do fornecedor diz: 5Mpps no prob. Eu já estou batendo em uma parede a 120kpps. Onde está o gargalo?

16

O whitepaper da HP sobre seus adaptadores Netlogtria II do QLogic (fka Broadcom) , que inclui o NIC específico que estou testando, declara (página 7) que seu pequeno desempenho de pacotes para pacotes de até 256 bytes / pacote está acima de 5.000.000 pacotes / segundo.

Nos meus testes com um aplicativo em que desativei todo o processamento, exceto a mera parte de recebimento do UDP, posso ir até 120.000 pacotes / s apenas. Os pacotes são distribuídos uniformemente por 12 grupos multicast.

Eu notei que há um núcleo (de 12 núcleos em cada um dos dois soquetes) cuja carga aumenta gradualmente quando eu aumente a taxa de envios do UDP e atinja cerca de 120.000 Mas eu não sei o que esse núcleo está fazendo e por quê. Não é um afunilamento de thread único no meu aplicativo, porque não importa se eu executo uma única instância do aplicativo para todos os grupos multicast ou 12 instâncias que lidam com um grupo multicast cada. Então, o gargalo não é meu aplicativo receptor.

O MSI está ativado (verificado através da visualização "recursos por tipo" no gerenciador de dispositivos ) e O RSS também está habilitado nas configurações da NIC, com 8 filas. Então, o que está se apegando a esse núcleo? Todos os recursos de descarregamento da NIC estão ativos, mas desativá-los não ajudou.

Então, onde poderia estar o gargalo?

Detalhes do sistema:

  • ProLiant BL460c Gen9
  • Intel Xeon E5-2670 v3 (2 x 12ores)
  • Placa de rede HP FlexFabric 10Gb 2 portas 536FLB
  • Windows 2012 R2
por Eugene Beresovsky 20.05.2015 / 15:07

1 resposta

13

RSS too is enabled in the NIC settings, with 8 queues.

Que infelizmente não significa que o RSS estava sendo empregado, como

netsh int tcp show global

mostrou:

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : disabled

Depois de executar (btw sem reiniciar)

netsh int tcp set global rss=enabled

O RSS começou a funcionar e a carga acumulada anteriormente naquele núcleo deficiente agora é distribuída uniformemente em vários núcleos em um dos dois nós NUMA.

Eu não verifiquei se isso me permitiria lidar com as cargas de Mpps anunciadas, mas o teto foi elevado o suficiente para comparar o que eu precisava.

    
por 25.05.2015 / 01:29