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
|
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.