Ir para conteúdo

POWERED BY:

Arquivado

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

valmison

Problema sistema PHP + APACHE

Recommended Posts

Prezados,

 

 

Estou desenvolvendo um sistema utilizando tecnologias Apache, PHP e Frameworks Javascript. O referido sistema exibe um dashboard de atendimento de uma equipe, listando o nome, a quantidade de demandas pendentes e encerradas para cada membro da equipe. Para trazer esta relação de atendimento realizo uma consulta numa base de dados SQL Server alimentada por um outro sistema proprietário, sendo o resultado desta consulta exibido praticamente que instantâneo.

 

Friso que as demandas devem obedecer um SLA baseado no tempo de atendimento, logo elaborei um código PHP para adicionar alertas dinamicamente de demandas com o tempo de atendimento violado e/ou prestes a violar. Contudo, este processo requer uma nova consulta na base de dados SQL Server, consulta a qual leva cerca de 10 segundos para ser realizada devido a necessidade de tratar caso a caso o tempo de atendimento das demandas, pois existem critérios como não computar o tempo em que a demanda ficou sob a responsabilidade de outra equipe, computar o tempo em dias úteis e durante horários de expediente, etc.

 

O dashboard é atualizado numa frequência mínima de 5 minutos, os alertas a cada minuto e o sistema atualmente é utilizado simultaneamente por 20 pessoas.

 

O problema é que como são 20 pessoas conectadas, apenas a consulta que gera os alertas passa a consumir mais tempo e recurso, pois todos os computadores clientes fazem esta mesma requisição em curtos e diferenciados intervalos de tempo. Portanto, há algum meio de realizar uma rotina em PHP onde apenas o servidor do sistema realize uma única consulta de alertas por minuto e os computadores clientes apenas pegam o resultado da última consulta disponível?

 

Esclareço que utilizo o servidor Windows e, por questões de segurança, o acesso à base de dados é feito através de uma "conta de serviço" do Active Directory, isto é, o serviço Apache é executado com as credenciais da conta de serviço, logo não é necessário utilização de usuário e senha no código fonte do sistema.

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Valmison,

 

Você pode criar uma rotina agendada para realizar as consultas no intervalo definido, e utilizar Memcached para armazenar o resultado (http://www.memcached.org). E no link onde seu ajax faz a chamada você pega o conteudo que esta no cache.

 

Com isso você fará apenas 1 consulta no intervalo definido, e sua resposta para a dashboard vai ser bem mais rápida!

 

O Memcached não possui instalação para Windows, mas ja vi alguns posts na web ensinando como instalar.

 

Isso não impede que você também utilize outros sistemas de cache (inclusive o do php) para fazer essa implementação.

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.