Banco de dados Lento
30/10/2013
0
Não conheço muito o banco de dados, pois cheguei recentemente na empresa e estou iniciando na área de BD.
Preciso saber como eu faço para descobrir o que pode estar gerando uma lentidão na aplicação, se é algo na aplicação, no banco de dados, como eu descubro e corrigo esse problema de lentidão? É possível?
O que eu posso fazer para melhorar o BD?
Obrigado!
Abs
Att.
Bruno
Bruno Brinstein
Posts
30/10/2013
Alex Lekao
O Seu SGDB é SQL Server, certo?
vc consegue verificar as caracteristicas do servidor?
Por exemplo, memoria, hd, espaco livre em hd, etc.
Dependendo do que for pode ser o espaco em hd ou simplesmente uma manutencao no banco de limpeza de arquivos, como se fosse um defrag, mas nao eh... rsrsr
esse problema de lentidao eh recorrente? sempre esteve lento? comecou a aproximadamente quanto tempo?
acredito que seria interessante alguns detalhes a mais para tentarmos lhe ajudar.
Abraco.
Alex - Lekao
30/10/2013
Roniere Almeida
30/10/2013
Bruno Brinstein
Vamos lá rs
Vou citar abaixo as configurações do servidor e banco de dados.
Servidor tem 08 GB de memória;
Intel xeon 2.13 Ghz;
100 GB de espaço livre;
SQL Server 2008;
O Banco de dados tem apenas 03 GB, o tamanho total;
O log está normal com 3MB;
Todos acessam a aplicação remotamente em um servidor, que deste servidor a aplicação acessa o banco em outro servidor (Talvez aí a internet possa causa alguma lentidão, mas nada tão crítico como o que vem acontecendo, acredito eu) rs.
O que acontece é o seguinte, o pessoal utiliza uma aplicação que faz tarefas simples de inclusão e pesquisa de orçamentos, sempre quando abre a aplicação ou realiza alguma consulta ou inclusão, fica muito lento. Disseram que a aplicação costuma ser um pouco lenta mesmo, mas o desempenho piorou de uns 10 dias até hoje.
Verifiquei a performance do servidor pelo resource monitor, a única coisa que da uns picos bem elevados é o disco, o restante é tudo normal.
O que mais posso fazer para descobrir o que pode estar causando essa lentidão, pois quando verifico o sp_who2 existem em média 10 usuários conectados no banco, mas sem "dead locks"
Obrigado!
31/10/2013
Alex Lekao
Legal.
Achei pouca memoria, mas tudo bem, pode nao ser o caso.
Se nao me engano para o SQL Server, quanto mais memoria melhor.
O Seu servidor eh bem parecido com o meu, so q o nosso tem 24 GB de ram.
Os servidores estao em locais diferentes comunicando pela internet entao?
Acredito que esse ponto possa ser um problema tambem, a comunicacao pela internet no caso.
O banco eh bem pequeno, tem bastante espaco no hd.
Acredito ser interessante dar uma verificada na aplicacao propriamente dita, se eles nao estao usando nenhum processo que possa ser mudado, ou foi criado algum job ou algum procedimento para executar alguma rotina que esteja deixando o banco lento.
Se houver a possibilidade de aumentar a memoria para testar, seria uma opcao tambem.
Abraco.
Alex - Lekao
31/10/2013
Bruno Brinstein
O servidor realmente tem pouca memória, mas para uma aplicação que mexe apenas com relatórios, nada tão pesado talvez não implique tanto, mas mesmo assim vou solicitar que aumentem para no mínimo 16 GB e fazer os testes.
Isso, eles ficam em servidores diferentes e usam a internet para se comunicar, talvez o link em um dos servidores possa ser um ponto de gargalo para essas transações, o que acha?
Testei a aplicação, o que mais fica lento é a pesquisa e quando ele utiliza uma função para recalcular valores, utilizo a ferramenta SQL HeartBeat, e o processo cresce de forma absurda que faz essas tarefas, analisei a query e é uma query gigante que faz isso, rodei direto no SQL e levou 1 minuto, na aplicação fica uns 5 minutos ou mais, isso quando não trava e temos que fechar a aplicação.
Muito Obrigado pela ajuda e pelas dicas.
Abs.
att.
Bruno
31/10/2013
Mariana Carvalho
31/10/2013
Roniere Almeida
31/10/2013
Alex Lekao
OI Mariana, boa tarde!!!
A pergunta ta baseada no nosso cenario? rsrsr
Por que no nosso caso temos 24 GB de ram e temos mais de 100 ususuarios trabalhando 8 a 10 horas por dia, o tempo todo, nao quis chutar a quantidade total do nosso parque, pq se nao daria 170 mais ou menos. rsrsr
31/10/2013
Alex Lekao
O servidor realmente tem pouca memória, mas para uma aplicação que mexe apenas com relatórios, nada tão pesado talvez não implique tanto, mas mesmo assim vou solicitar que aumentem para no mínimo 16 GB e fazer os testes.
so lembrando que para o aumento de memoria tera que considerar alguns multiplos para o servidor, nao me lembro como eh feita essa mensuracao, acho que eh alguma coisa com o processador ou com os cores.
Isso, eles ficam em servidores diferentes e usam a internet para se comunicar, talvez o link em um dos servidores possa ser um ponto de gargalo para essas transações, o que acha?
ACho que eh uma possibilidade sim, vale a pena verificar, dependendo de como for, e for possivel, fecha logo um link de fibra otica. rssr
Testei a aplicação, o que mais fica lento é a pesquisa e quando ele utiliza uma função para recalcular valores, utilizo a ferramenta SQL HeartBeat, e o processo cresce de forma absurda que faz essas tarefas, analisei a query e é uma query gigante que faz isso, rodei direto no SQL e levou 1 minuto, na aplicação fica uns 5 minutos ou mais, isso quando não trava e temos que fechar a aplicação.
analise a possibiildade de criacao de indices, e reveja a query se for possivel, talvez possa ser interessante vc dar uma olhada no plano de manutencao estimado e verificar possiveis indices que ele possa indicar, ou cria-lo direto, se ver que faz uso de campos que nao tem indices e analisar que precisem.
Bom espero que possa ter ajudado.
Abraco.
Alex - Lekao
31/10/2013
Bruno Brinstein
Ajudou muito... Vou analisar tudo isso que debatemos aqui no DevMedia, fazer uns testes e algumas correções.
E vamos lá, vamos ver o que acontece rsrs.
Pode deixar que vou fechar um link de fibra kkkkk.
Obrigado!
Abs.
31/10/2013
Alex Lekao
precisando de mais alguma coisa eh so falar, estamos sempre por ai... rssr
22/11/2013
Mariana Carvalho
OI Mariana, boa tarde!!!
A pergunta ta baseada no nosso cenario? rsrsr
Por que no nosso caso temos 24 GB de ram e temos mais de 100 ususuarios trabalhando 8 a 10 horas por dia, o tempo todo, nao quis chutar a quantidade total do nosso parque, pq se nao daria 170 mais ou menos. rsrsr
desculpa a demora, sim, neste cenario.
22/11/2013
Alex Lekao
mas temos um uso bem interessante... nao enfrentamos grandes problemas de lentidao, o problema acontece quase sempre qdo tem alguma consulta mais pesada, mas logo libera.
respondendo objetivamente, nao, nao temos grandes problemas com lentidao. rsrsrsr
25/11/2013
Kallel Albuquerque
Você chegou recentemente na empresa, certo?
- Estudou a aplicação (Aonde os métodos de buscas estão localizados? Quais métodos de representação de dados na aplicação?)
- Estudou e verificou a normalização do banco de dados (Projeto Lógico do MER)
- Estudou a infraestrutura (Balanceamento do servidor)
Todo esse processo foi um erro fatal da engenharia do software, não resta agora você quebrar sua cabeça, testar e encontrar infinitos erros na sua aplicação, veja os itens acima vou estudar o caso com minha equipe de trabalho e não deixe de fazer testes.
Obrigado.
Clique aqui para fazer login e interagir na Comunidade :)