Conexões entre Matriz e Filiais num SQL Server 2005
13/09/2010
0
Tenho um ERP na empresa. Essa empresa
possui 55 filiais, várias em cidades diferentes, funcionando conectados
ao Banco da produção, um SQL Server 2005 Enterprise, sendo que existem
diversos caixas PDVs conectados com ele diretamente, enviando em tempo
real cada venda realizada através de um link. São aproximadamente 160
conexões simultâneas em horários de Pico que vão das 10 as 14h e das 16
as 18:30h, em dias normais. Cheguei a pegar picos de 98% no processador
do servidor do banco, um IBM 16GB, com 8 processadores, e um storange de
1TB, com 200GB mais ou menos livre no disco. Más o que está pegando
aqui é que não tenho encontrado outra possibilidade de estruturar essas
conexões direta dos PDVs com o banco, pois acho que esse acumulo de
conexões simultâneas está atrapalhando o desempenho da máquina do
servidor. Não tem ocorrido bloqueios praticamente, vez ou outra apenas, e
as conexões não são demoradas(Não tive tempo de monitorar isso direito,
más o pessoal que trabalha alí, disse que não existem gargalos
relevantes). Na vedade ainda não tive tempo de ver como estas consultas
do ERP estão montadas, más creio que de alguma forma elas e os índices,
estão onerando a performance do banco para que o mesmo chegue aos picos
de processamento que tem apresentados. Não pude ver a rede ainda e o
comportamento da mesma. Eu vi que no servidor, dentro do performance,
quase não aparecem os contadores do SQL Server, você saberia dizer
porque não aparecem? Seria algum problema de instalação? Teria que
reinstalar o banco pra que os contadores aparececem? Essa arquitetura de
rede e conexão do servidor é a ideal para a empresa? Existe outra
possibilidade de enviar esses dados dos PDVs pro banco de dados sem
acumular tantas conexões ao mesmo tempo? Qual seria a arquitetura ideal
de banco ou sistema ideal para este caso?
Mauro Moraes
Curtir tópico
+ 0
Responder
Posts
13/09/2010
Tiago Melo
acredito que arquitetura ideal a nível de banco para esses casos seja, um banco local nas pontas e um data center, recebendo as replicações
Responder
13/09/2010
Mauro Moraes
acredito que arquitetura ideal a nível de banco para esses casos seja, um banco local nas pontas e um data center, recebendo as replicações
Olá Tiago.
Existe um datacenter com o Banco da Produção, na Matriz e em cada filial, também existe um banco SQL Server que recebe diariamente, a noite, apenas atualizações de preços e produtos, do banco mestre. O que ocorre é que no momento das vendas os PDVs conectam diretamente com o Banco da Produção, e em alguns momentos acumulando algumas transações.
Estou pensando em criar grupos de filiais para a distribuição dos acessos (chamadas ao banco) em momentos pré-definidos, de forma que fique melhor distribuidos. Assim não haveria tanta concorrência e de tempo em tempo cada grupo conectaria, sem concorrer com outro grupo. A dificuldade aí é a direção da empresa permitir que isso ocorra desta forma ja que estão acostumados comos dados em tempo real, atualmente. Creio que isso só não seria possível caso exixtisse alguma imposição devido alguma funcionálidade, tipo, o cadastro de cliente da filial deve ser feito em tempo real, más mesmo assim creio que poderia se abrir uma excessão a regra e enviar uma sincronização das informações, quando fosse realmente necessário. O que acha?
Um abraço.
Responder
Clique aqui para fazer login e interagir na Comunidade :)