Número de buffers TX e RX no Windows Server 2008 R2

3

Tenho notado que as placas de rede broadcom e Intel permitem que você ajuste o número de buffers de transmissão e recepção (um número maior de buffers causará mais uso de memória).

Como esses buffers funcionam:

  • Qual é o tamanho deles?
  • Qual é a relação de buffers para sessões TCP ou Ethernet, se houver uma? (ou seja, 1 buffer por sessão ou um conjunto de buffers?)
por Kyle Brandt 26.02.2011 / 15:46

3 respostas

2

Bem, há alguns conselhos sobre buffers de placas de rede que indicam que é melhor, geralmente:

link

Set the receive buffers on the Network Interface Card on the Web server to a maximum. This reduces the number of dropped packets and reduces TCP retransmissions. You can set this parameter by going to Start | Settings | Control Panel | Network and Dial Up Connections. Select the active LAN Connection typically called Local Area Connection. Right click to select Properties. Click on the Configure button next to the Network Interface Card. Set the receive buffers to the maximum value 1024.

...

You may be wondering about the trade-offs in doing the above. The trade-off is that the operating system will need to allocate more memory for NIC receive buffers and user ports.

    
por 26.02.2011 / 23:01
2

Os buffers RX e TX geralmente equivalem a um quadro Ethernet. Se você configurou a contagem do buffer RX para 512, o driver reservará buffers suficientes para lidar com 512 quadros Ethernet. A quantidade de memória irá variar um pouco, já que diferentes NICs usam diferentes estruturas de dados do descritor de buffer, mas em geral você deve multiplicar o tamanho do buffer pelo MTU para estimar a quantidade de memória necessária.

Dave

    
por 14.03.2011 / 20:25
0

Se você tiver acesso a código, há também a opção SO_RCVBUF que é útil, especialmente no Windows.

Btw, alguém sabe qual é a relação dos buffers RX da NIC versus a opção SO_RCVBUF? (WskControlSocket / getsockopt)

    
por 16.03.2011 / 20:58