Pergunta

Estou construindo um componente de uma página da Web que precisa de pesquisa de banco de dados relativamente constante. Eu posso ver duas abordagens diferentes para isso, e estou me perguntando se uma delas é melhor que as outras, ou se estou perdendo uma terceira opção.

1) Envie uma solicitação AJAX a cada 1 ou 2 segundos para verificar se há atualizações. Cada solicitação retorna imediatamente se há ou não novos dados.
2) disparar uma única solicitação de Ajax que não retornará até que receba dados ou um tempo limite ocorra. Sobre qualquer um dos que estão acontecendo, ele dispara o próximo pedido. (Eu acho que isso é chamado de pesquisa longa?)

O número de consultas de banco de dados será o mesmo com o mesmo, mas com o número 2, haveria menos solicitações disparando do navegador que poderiam salvar a largura de banda e os recursos do cliente. Para o servidor, é melhor ter uma única solicitação de PHP que permaneça ativa e acomoda entre consultas, ou que aciona a cada poucos segundos, as pesquisas do banco de dados e depois desliga? Ou não há diferença e estou muito estressado sobre isso?

EDIT: Suponho que também devo afirmar que este é um widget de bate -papo de um aplicativo da Web maior. Um pequeno atraso na comunicação não vai matar um usuário, pois o bate -papo é um recurso secundário.

Foi útil?

Solução

As pesquisas longas serão dimensionadas melhor (ou seja, menos carga do servidor) do que as pesquisas, enquanto dão tempos de resposta muito melhores.

Se as pesquisas do seu destinatário, o tempo médio de viagem de uma mensagem será metade do seu intervalo de pesquisa.

Com uma longa pesquisa, seu instante - o servidor espera apenas se não há nada a dizer.

Se você estiver fazendo mensagens de bate -papo, faça uma pesquisa longa; É uma coisa de usabilidade.

O lado inferior com longa votação é que é mais complicado de implementar; Mas não é muito mais complicado e é amplamente implementado. Portanto, se você não puder usar uma estrutura pronta para o seu servidor da web, poderá criar uma escrita razoavelmente e a fará funcionar.

Outras dicas

Você também pode olhar para WebSockets, parte dos navegadores mais novos (ou emulados por meio de um Arquivo flash você cai na sua página)

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