Openvz: O que exatamente significa quando tcpsndbuf failcnt aumenta? Por que deve haver uma diferença mínima entre limite e barreira?

1

Quando o failcnt de tcpsndbuf aumenta, o que isso significa? Isso significa que o sistema precisou passar do barrier ou do limit ? Ou, talvez, que o sistema falhou ao fornecer buffers suficientes, porque precisou passar do limit ou porque precisou passar do barrier , mas não conseguiu porque outras VMs estavam usando muitos recursos? / p>

Eu entendo a diferença entre barrier e limit apenas para o espaço em disco, onde você pode especificar um período de carência para o qual o sistema pode exceder o barrier , mas não o limit . Mas em recursos como tcpsndbuf , que não possuem um período de tolerância, qual é o significado de barrier vs. limit ?

Por que a diferença entre barrier e limit em tcpsndbuf precisa ser de pelo menos 2,5KB vezes tcpnumsock ? Eu poderia entender se, por exemplo, tcpsndbuf deveria ser pelo menos 2,5KB vezes tcpnumsock (seja a barreira ou o limite), mas por que eu deveria me importar com a diferença entre a barreira e o limite?

    
por Antonis Christofides 05.06.2012 / 17:13

1 resposta

2

Você tem muitas perguntas aqui.

Quando o failcnt do tcpsndbuf aumenta, o que isso significa? O failcnt está no seu termo mais simples, indo além do limite de recursos. Portanto, em conjunto com tcpsndbuf, isso significa que ele incrementaria esse contador o número de vezes que passaria do recurso de tamanho do buffer tcp. Se você estiver constantemente batendo nesse contador por um período prolongado, começará a notar e a ter problemas de desempenho da rede.

Existe uma diferença entre a barreira e o limite.

Ultrapassando a barreira, você verá apenas uma degradação do desempenho da rede. A aplicação ainda funcionará, mas o desempenho da rede será lento.

Passando o limite por um determinado período de tempo, você começará a ver as conexões descartadas.

Quanto aos 2,5KB, isso é necessário para garantir espaço de buffer suficiente para permitir que as conexões de rede atuais possam enviar dados com êxito, caso contrário, pode acabar interrompendo conexões na metade do envio de dados.

__

  • O failcnt é aumentado ou não? O campo failcnt mostra o número de "alocações de recursos" recusadas por tempo de vida do contêiner. Isso aumenta por número de vezes que tcpsndbuf atingiu o limite (é isso que eu quero dizer com “passado o tamanho do buffer tcp”).

  • Suponha que o contêiner solicite tcpsndbuf além da barreira. Isso é concedido ou não? Isso é concedido, no entanto, tenha em mente que, se você inserir um valor mais alto para tcpsndbuf, isso não significa automaticamente que ele melhorará o desempenho da rede. Também está limitado a limites de hardware. Ele começa a degradar por causa das verificações de consistência UBC. Se as restrições não forem satisfeitas, a transmissão de dados pelos soquetes poderá ser interrompida em algumas circunstâncias (nem sempre, apenas às vezes).

por 18.06.2012 / 19:01

Tags