Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

VirtualJoker

DESAFIO: Diminuir o tempo de chamada AJAX, ou tempo para alterar SQL.

Recommended Posts

Venho aqui lhes trazer um enorme desafio que estou tendo... vou lhes passar primeiro o desafio, depois mostrar as minhas tentativas de solucioná-lo:

 

Eu tenho um cliente em uma página da web qualquer, quero que esse cliente altere uma tabela no SQL da maneira mais rápida possivel...

 

Minhas tentativas:

Eu pensei da maneira mais lógica possivel, colocar um objeto ajax nessa página, e esta chamar uma página PHP que altere a tabela SQL.

Pois bem, eu já fiz e refiz o objeto ajax, já usei bibliotecas, frameworks.... e nada....

O tempo médio que eu consigo é sempre entre 700ms e 1s.

Mesmo com a página PHP em branco "ela em branco e bem pesada não interfere muito nesse tempo"...

 

O problema é simples: Um cliente (no próprio navegador, seja ele qual for) tem que alterar a tabela SQL no menor tempo possível, queria conseguir um tempo de 100ms ou menos, não sei como fazê-lo... alguém poderia me iluminar.

 

O menor tempo que consegui foi esse rodando em torno de 800ms, pois levava muito tempo para o servidor achar o arquivo PHP.

Alguém tem alguma idéia ???

 

Obrigado a todos... desafio está lançado, vamos ver se alguma mente iluminada me salva desse sufoco de conseguir com que o cliente mexa no banco de dados em 100ms ou menos....

 

 

Obrigado novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ae Virtual Joker,

 

Depende mt do que retorna e o tempo que o seu servidor leva para resolver a requisição do usuário.

 

Eu to meio por fora de média de tempo que leva, realmente não seu o que seu programa está fazendo ou está retornando ao cliente, porém fiz uns testes aqui em algumas coisas que fiz só para passar media de tempo mesmo.

 

Eu fiz uma consulta simples com ajax aqui no trabalho onde precisei consultar um arquivo XML que possui 2kb de tamanho. a consulta fica entre 200 e 300ms, no meu caso eh apenas transferência de peso, não envolve processamento do lado do servidor.

 

E fiz tb um outro teste aqui num sistema interno onde realizamos consultas com ajax onde consultamos um arquivo php que faz uma consulta no banco e nos retornam um xml com menos de 1k de peso, contendo informações para alimentar as telas e o tempo de resposta ficou entre 150 e 300 ms.

 

Então acho que a dica é tentar diminuir o maximo o tempo de sua query, ou do seu processamento em php e no retorno retorne o mínimo de texto possivel para poder reduzir esse tempo.

 

 

Abssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então pessoa, não interessa a consulta em sí...

Como eu postei, pode ser uma página PHP vazia ... mesmo assim o tempo de retorno dela é de 700ms...

 

O problema é, não haveria alguma maneira de eu deixar certas páginas já previamente carregadas no servidor? Pra ele não ter que procurar e abrir elas ?

 

E sim, aqui em casa eu tenho um tempo de resposta de 100ms, poraí... é um tempo bem curto, agora em qualquer servidor que eu coloco o tempo aumenta e muito... (servidor web)...

 

Gostaria de saber outras maneiras,...

 

Eu até já vi outros tipos de chamadas sem usar o AJAX, tipo aquela que se brinca com a tag <script>, mas mesmo assim o tempo de chamada ainda é longo !....

 

 

Existe mais alguma maneira ?! (como deixar uma certa página armazenada na memória do servidor, pra quando chamar aquela página não ter todo o tempo de busca e armazenamento na memória pra depois executar)

 

Obrigado pelos que responderam: Carutcho e Junior =)

 

LEMBRANDO DE NOVO: Mesmo uma página PHP VAZIA ! Que não faz consulta nenhuma, eu tenho um tempo de resposta grande !

Compartilhar este post


Link para o post
Compartilhar em outros sites

No servidor já está tudo "carregado".

você no máximo vai conseguir deixar em cache para o navegador do cliente, os códigos HTML e Javascript.

 

As páginas server-side, você não tem como trazê-las antes do cliente efetuar alguma requisição, pois elas precisam ser processadas no servidor, antes de vir para o cliente. Oque pode mudar, é a forma com que você exibe os dados na tela, mas o tempo de processamente do servidor, só analizando a query e a eficiência do teu script.

 

Está usando algo parecido com um datagride?

Seu Ajax não foi estruturado com Orientação à Objetos, ne!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está usando algo parecido com um datagride?

Seu Ajax não foi estruturado com Orientação à Objetos, ne!?

Não etsou usando datagride, e meu ajax já fiz ele várias vezes: como função, com OO, usando prototype...

O resultado é sempre o mesmo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algum moderador poderia por favor apagar esse post esse e o de baixo foram duplicados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algum moderador poderia por favor apagar esse post esse e o de baixo foram duplicados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aff, to tendo que escrever o post dnovo :(

 

 

Vamos la:

 

Cara, você tocou num ponto importante, coisas que pode restringir desempenho tb é a distância e o servidor. Se você está local, você não tem a rede como redução de velocidade, se você esta em rede, você tem uma conexão maior que na web para troca de dados e se você ta na web, a distância é maior a conexão é menor e a informação leva mais tempo trafegando pela rede. Sem contar que quando você ta local, você tem seu servidor respondendo poucas requisições portanto não é mt exigido. Quando você ta na web, mt gente acessa o servidor, claro que eles tem maquinas pra issom atender mts usuários, mas pode ser que tenha influencia.

 

Entaum faz um teste ae, liga 2 maquinas em rede e na web, starta um server apache e acessa ele pela rede e manda uma requisição de um arquivo e vê quanto tempo demora, depois faz a mesma requisição ao invés de ser pela rede, acessando pela web e ve o tempo que demora. As vezes você ta perdendo desempenho devido a trafego de rede e naum de processamento de arquivo.

 

 

absss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bem, eu estou me consolando que nunca vou conseguir diminuir esse tempo de resposta...

O mínimo vai ter que ficar na casa de 600ms mesmo,... agora vem outro desafio, contornar o problema,...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.