Publicidade   
 você está aqui: phpbrasil.com    faqs    faq  
 
:: novos artigos ::

:: recomendado ::

PHP 4: a Bíblia

Compre esse livro no Submarino.com.br

:: publicidade ::


:: novos scripts ::

:: elenco phpbrasil ::

Renato Campoy
Pontos: 2204

FAQs

Essa seção tem como objetivo criar um histórico de perguntas ou tópicos frequentemente perguntados para ajudar a comunidade a documentar as necessidades dos desenvolvedores iniciantes e também experientes.


Procura:      
Lista de Categorias  |  Envie a sua Pergunta  |  Entre em Contato Conosco
Pergunta: O sistema dá pausas constantes durante a inserção de dados em um formulario php/apache/mysql. O que está errado?
Autor: Gilberto Martins
Vote aqui!
Média de Votos Atual: 10.00
Total de Votos: 2
Nota:   


Respostas

Resposta contribuída por André de Castro Zorzo Esse usuário pertence aos 10 usuários mais ativos do site em 2003-02-03 16:19:15
 
que tipo de pausa?
detalhe melhor o ambiente que roda o script!
Resposta contribuída por Italo Marcelo de O. Costa Esse usuário pertence aos 10 usuários mais ativos do site em 2003-02-04 05:25:10
 
Não deveria... qual método vc está usando... GET ou POST?
Resposta contribuída por Fernando Pimenta em 2003-02-04 11:26:02
 
veja se o código está bem objetivo, faça testes com outros sistemas usando o BD... pode ser apenas configuração
Resposta contribuída por Thiago Alves Goulart em 2003-02-05 14:06:47
 
Se você estiver utilizando frames pode ser problema de cache.... quem sabe quando você insere um dado ele té fica no banco, mas a página ^na qual você exibe este dado está no cache...
Resposta contribuída por martins em 2003-02-06 06:25:35
 
Fiz um teste, troquei o método post por get, a montagem da página ficou mais rápida, mas o problema persiste. Não há frames, mas fiz mais uma descoberta, independente do número de registros inseridos, a pausa ocorre a cada 4:30 minutos. Se inserir 1 registro ou 40 registros (com 40 montagens da tela) o tempo de ocorrência continua em 4min30sec. Normalmente o registro é inserido quando ocorre a pausa, mas a página não monta completamente, o formulário não aparece.
Resposta contribuída por Lyma Esse usuário pertence aos 10 usuários mais ativos do site em 2003-02-09 08:31:11
 
Seria alguma tarefa rodando no servidor?

Poderia especificar o ambiente de teste? (versão do PHP e DB e SO?)
Resposta contribuída por Fernando Augusto Medeiros Silva em 2003-02-09 22:43:18
 
Tem como mandar uma porção de código?
pode ser problema da conexão do banco
uma dica seria dar um print com a microtime entre as linhas de código para achar exatamente onde está o delay
essa função imprime um comentário html com os segundos e usec
chame antes de cada linha
function printtime($html=1){
$time=gettimeofday();
print '<! '.$time['sec'].':'.$time['usec']."->\n";
}

Resposta contribuída por Cléver Anjos Esse usuário pertence aos 10 usuários mais ativos do site em 2003-02-11 08:32:15
 
Se o seu servidor for Linux, pode ser alguma rotina em cron que cause uma ligeira sobrecarga momentânea.
No meu servidor aqui, a cada 5 minutos o sistema gera alguns gráficos (MRTG) roda algumas rotinas de administração, etc.
Naqueles segundos que está fazendo isso pode acontecer de ficar um pouco mais lento.
Se for Windows, bem prefiro nem comentar :-)
Resposta contribuída por Alessander Thomaz Esse usuário pertence aos 10 usuários mais ativos do site em 2004-04-22 12:09:48
 
Acredito que seja algum problema no servidor mesmo.
Desconheço alguma configuração que iniba, ou retarde uma inserção por exemplo.

Verifique junto ao data-center responsável.
Resposta contribuída por Diogo Gomes Esse usuário pertence aos 10 usuários mais ativos do site em 2004-09-12 17:35:26
 
O servidor MySQL pode estar sendo sobrecarregado durante esse período, talvez um loop de select's na resposta do form.
Resposta contribuída por gm_nununo em 2005-04-17 07:45:12
 
Estou trabalhando a pouquissímo tempo com o mySql e ainda não sou nenhum expert... Mas, para resolver este problema de "pausas" eu tentaria:

1) Verificar o log de erros do mySQL e do PHP, talvez alguma operação do seu formulário esteja ultrapassando o tempo limite configurado no servidor, e por causa disso, sendo cancelada. Se for isto, estará nos logs, e tudo a ser feito é aumentar o tempo limite das operações...

2) Crie indices para todos os campos utilizados na clausula WHERE. Até um dia atrás eu estava trabalhando com algumas tabelas BEEEEEM GRAAANDES importadas do CLIPPER pelo dbf2mysql, e reparei que a primeira instrução SELECT que eu chamava demorava de 5 a 10 segundos, enquanto as próximas demoravam 0,3 a 0,5 segundos... Fui ver a documentação e descobri que isso acontece por que o mySql é bem esperto, ele cria um indice temporario se acredita que terá que repetir o serviço. O indice temporário continua ativo enquanto a sessão estiver ativa (ou a conexão), e depois é apagado.
Talvez, você esteja usando uma conexão "não persistente", ou seja, que conecta no inicio do .PHP e desconecta no fim, isto estaria criando e destruindo indices constantemente, podendo criar muitos processos concorrentes ao mesmo tempo, e "carroçando" o seu servidor...

3)Use conexões persistentes, pois assim você estará usufruindo de toda a otimização que o mySql pode oferecer... E não se preocupe, o mySQL é bem esperto, ele encerra a conexão quando o usuario fecha o browser...

4)Se nada disso fizer a menor diferença... Uns galhinhos de arruda, uma vela de 7 dias... hehehe... brincadeira, testa em outro HOST.

Grande Abraço

NuNuNO
( Que está se libertando do software proprietario... )

 
Imprimir  |  Enviar para um Amigo


 
webmaster: João Prado Maia   © 2000 - 2005 phpbrasil.com
Gerado em 0.641 segundos