Pergunta

Temos um webservice em execução no Websphere 6.1 usando os webservices baseados IBM JAX-RPC. Cliente está enviando solicitações sem cabeçalho HTTP de transfer-Encoding: blocos (Eles especificar o conteúdo de comprimento). A resposta de websphere sempre tem Transfer-Encoding: fragmentada no cabeçalho HTTP. Presumo que isto irá resultar na resposta a ser enviada em vários pedaços. Num sistema em que o solicitador de servis e prestador de serviços são separados por muitos intermediários (como firewalls e loadbalancers (T1 / F5)), este tipo de arrancamento poderia resultar na latência significativa.

Este link e esta link conversa sobre pedido chunking mas não mencionou nada sobre a resposta.

Existe uma maneira de configurar o WebSphere para não adicionar a transferência-Encoding: blocos na resposta do cabeçalho HTTP

?
Foi útil?

Solução

No WebSphere, o tamanho do bloco é controlado pelo "Write Buffer Size" na cadeia de transporte do canal de entrada container web. A partir de sua documentação:


Se várias gravações são obrigados a respostas identificador para o cliente, altere o valor especificado para o parâmetro de tamanho do buffer de gravação para um valor que é mais apropriado para seus clientes. Os controles de parâmetro tamanho do buffer Write a quantidade máxima de dados por thread que os buffers de contêiner da Web antes de enviar o pedido on para processamento. O valor padrão é de 32768 bytes, o que é suficiente para a maioria das aplicações. Se o tamanho de uma resposta é maior do que o tamanho do buffer de gravação, a resposta é fragmentada e revertida de escritas múltiplas TCP.

Outras dicas

Eu não acho que você pode configurar o WebSphere para fazer isso, mas, além disso, não deve importar. Eu recomendo ler o RFC 2616 tem a dizer sobre a codificação fragmentada; ele não faz o que você acha que ele faz.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top