On Mar 16, 2011, at 10:44 AM, Eduardo Schoedler wrote: > Em 15/03/2011 08:47, Luiz Otavio O Souza escreveu: >> E que depende do tamanho máximo da fila, configurado aqui: >> >> # sysctl net.inet.ip.intr_queue_maxlen >> net.inet.ip.intr_queue_maxlen: 256 >> >> (256 me parece pouco para um ambiente de alto trafego, com várias >> placas/interfaces) > > Cuidado ao mexer com o tamanho das filas, existe um problema chamado > "Bufferbloat". > > Alguma referência: > > http://gettys.wordpress.com/2010/12/13/mitigations-and-solutions-of-bufferbl > oat-in-home-routers-and-operating-systems/ > > http://gettys.wordpress.com/2010/11/29/home-router-puzzle-piece-one-fun-with > -your-switch/ > http://gettys.wordpress.com/2010/12/02/home-router-puzzle-piece-two-fun-with > -wireless/
Eduardo, Isso é mais comum no envio, onde você define um buffer muito grande e só começa trabalhar (enviar de fato) quando os dados atingem a metade do buffer (por exemplo). Mas nesse caso, trata-se de pacotes recebidos, a placa de rede já recebeu o pacote (já esta com ele na memória) e ele foi descartado pois a fila de processamento de pacotes para o protocolo 'IP' encheu... Como ele tem CPU sobrando e tinha drops nessa fila, eu apontei a sysctl que ele precisa alterar para evitar os drops. É de esperar alguma cautela por parte do 'operador', pois como já comentei, toda alteração que você faz e se distancia do 'GENERIC', seu risco aumenta, aqui não é diferente. Mas também é de se esperar que um sistema 'genérico' precise de alguns ajustes para se comportar bem em operações mais exigentes (como um router de alto trafego), a questão é entender e alterar só o que é preciso (e evitar criar novas mutações dos muitos bugs já existentes :)). []'s Luiz ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd