Ir para conteúdo

POWERED BY:

Arquivado

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

Bruno Sam

Processamento do SQL e IIS

Recommended Posts

Prezados,

 

Estou tendo lentidao com o aumento de clientes acessando o servidor. Gostaria de medir os trafegos de dados de cada usuario acessando o IIS e tambem gostaria de saber se 'e possivel medir o processamento do banco que o usuario utiliza pela aplicacao desenvolvida em ASP Classico.

 

Assim identificaria quais clientes consomem mais CPU e memoria do servidor.

 

Alguem ja teve esse problema ou sabe como posso medir ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o correto é otimizar suas SQL, procedures, seus relacionamentos, lembre-se você precisa ter uma relacionamento entre as tabelas, na verdade, a importância de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo. Hoje existem ferramentas que medem o tempo de execução da sua execução sql, algumas delas pode-se ser vista pelo próprio site do MySql, acessando http://dev.mysql.com/downloads/, ou até mesmo por uma aplicação de gerenciamento MySql, utilizando a aplicação do mySql Monitor, é possível visualizar e realizar uma avaliação de como está o desempenho e também para SQL Server, vc pode utilizar o comando SET STATISTICS TIME do SQL Server.

 

algumas dicas:

* Crie preferencialmente nas colunas que são inteiros (integer), aumenta o desempenho comparado aos valores varchar, valores de inteiro geralmente tem tamanho menor e são muito mais rápidos para comparar, consequentemente ocupará menos espaço na memória para o processamento. * Crie índices para as colunas de chave estrangeira que serão utilizadas nas cláusulas where. * Considere a criação baseando-se nas colunas frequentemente usadas nas cláusulas where, order by, group by. * Não crie índices com possíveis valores duplicados. Ex: Sexo (Masculino ou Feminino). * Criar índices ao unir duas tabelas na cláusula where (a.id = b.id), caso contrário sua consulta ficará lenta, e será cada vez mais custosa na medida em que o número de registros aumentarem em sua base de dados. * Crie índices com várias colunas de sua tabela.

e dá uma olhada no fórum que coloquei um code para calcular o tempo da consulta SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também tem casos de loop dentro de loop em que cada loop abre uma conexão... procure usar a mesma... entre várias sqls pequenas tente usar uma complexa é melhor para o banco... usar o msaccess para base de dados na web não é recomendável... num banco cliente servidor utilize o pool de conexões melhora muito em desempenho...


Mas onde esta seu hospedeiro? Em.computador pessoal? Se sim tem que ver sua taxa de upload onde se sua internet é de 15 megas vc terá 150 kbps até no máximo 300 kbps de velocidade transmissão que no caso é de 10 a 20% de velocidade contratada... isso também conta...

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o comando SET STATISTICS TIME do SQL Server, no MySQL vc tem ferramentas para isso e no oracle , use o SQL*PLUS:

SQL> set timing on

SQL
> <SEU_SELECT>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É interessante informar coisas sobre o seu ambiente:

- versão de sistema operacional, qual sistema de banco de dados utilizado e também a versão, quantos usuários você tem simultaneamente no sistema, se esta tudo instalado numa única máquina, se é um host na web, se é um host compartilhado ou dedicado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde mencionei num no post#3 se caso tenha 15 mega então sua taxa de upload será de 1,5 mbps não 150 kbps... é em torno de 10% da velocidade contratada de download só que ninguém menciona isso pois considera vc um usuário simples que só que saber de baixar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

podes também contratar um server dedicado, com uma velocidade grande transmissão, mas geralmente em algumas empresas fica um valor um pouco alto. Mas antes faça a medição de suas query como o indicado acima, para assim ter dados concretos para sua análise.

Compartilhar este post


Link para o post
Compartilhar em outros sites

medir o tempo de processamento da query que ele pede no post #1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certamente só que o retorno deve ser para o administrador não para o próprio usuário ... ou pelo menos para os dois... mas pensando mais a frente o que seria feito se a estatística ficar com uma média de 5 segundos por query? Ou mais? mas... uma query complexa é melhor para o banco do que várias pequenas... teria que mudar a normalização para colocar algumas redundâncias para facilitar tal query não?!... mas deve ser analisado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O negócio é aguardar mais informações sobre o ambiente...

 

A medição que ele pede no post #1, é da aplicação como um todo, não de query.

O tempo da query vai determinar que a query é "lenta"? Não precisa medir o tempo para saber que se trata de uma lentidão de query, podemos considerar que qualquer query com mais de 3s de execução é lenta. Mas os motivos podem ser inúmeros.

 

A ferramenta mais adequada para "medir" processamento no Windows é o perfmon, mas isto também não vai resolver, ele pode detectar que há um consumo grande de memória ou de disco, mas isto também não resolve, as causas podem ser diversas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode fazer uso de StreamInsight, que serve para várias consultas é a necessidade de criar e implantar uma consulta primária que processe previamente os dados e envie-os a um adaptador de saída, enquanto outras consultas consomem o resultado dessa consulta e enviam seus próprios resultados a outros adaptadores de saída.

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.