Esperando por soquete disponível. . .

O sistema antigo por um longo tempo sem sucesso, após o reinício, utilize o navegador Chrome para acesso e descobriram que ao abrir a primeira página, você pode acessar, e depois abrir outra página, a página não pular, eo navegador exibe "Esperando Disponível socket. " navegador Enquanto isso sem erro, fundo livre de erros, o navegador tempo limite de conexão ocorre, reinicie o sistema, está aguardando a página para carregar para fora, e não há nenhuma lei.

A razão a Internet para encontrar:

Navegador feito para o número de conexões de soquetes para as mesmas restrições de nome de domínio, usando as propriedades de comunicação Tomada html5 sobre a visita ao local, o navegador é limitado a seis pares do número de conexões, quando você atualizar a página muito rapidamente, antes que o pedido não é o soquete pode voltar ao normal, o que representa 6 de N, preenchido com 6, quando o bloqueio ocorre, ea situação filas ilimitada, o surgimento deste problema.

Resolução de Problemas:

break point, código do sistema vista, encontrada ligação invulgarmente lenta banco de dados, uma tabela de dados 85, o tempo de consulta até + 3 segundos, em seguida, a vista de perfil, conectados com o banco de dados descoberta atualmente usado para diferente de conexão, modificar conexão com o banco usado atualmente conexão, o sistema voltou ao normal.

tempo de consulta de banco de dados é muito longo, fazendo com que a conexão foi ocupada, o navegador está em um estado de espera, se menos pedidos de página, não há problema, se o pedido de página mais, esta situação ocorre, enquanto ajax solicitação, deve adicionar tempo limite de tempo limite Prevenir tempo limite de conexão ocupadas;

 

resumo:

1, o programa de fundo é muito lento, o navegador espera para o valor de retorno do fundo;

2, sugerindo que é errado, talvez não é o problema;

 

Follow-up:

O sistema utiliza springCloud, pode ser adicionado em um único método

@HystrixCommand(fallbackMethod="fallback",
        commandProperties = {
                @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "1000" )
        }
)

Use um componente de -Hystrix springcloud

fallbackMethod: @HystrixCommand notas modificadas função de retorno, @ HystrixCommand modificado a função de retorno deve ser definida a função na mesma classe, conforme definido na mesma classe, de modo método fackback pode ser um público / privado pode ser.

commandProperties: Alguns parâmetros do comando, como executionIsolationStrategy configurado para executar a política de quarentena, o padrão é usar isolamento linha, linha aqui nós configurado, ou seja, o isolamento pool de threads. Veja também: com.netflix.hystrix.HystrixCommandProperties cada parâmetro é definido.

commandProperties propriedade @HystrixCommand anotação é uma matriz @HystrixProperty, @ HystrixProperty deve especificar o nome eo valor atributos.

1000: Tempo de espera.

Publicado 21 artigos originais · ganhou elogios 0 · Vistas 2266

Acho que você gosta

Origin blog.csdn.net/hfaflanf/article/details/102911096
Recomendado
Clasificación