Teste de select

SQL Server

25/10/2014

Estou procurando algo para testar e ao mesmo tempo simular a quantidade de select´s feito no banco, existe algum comando que simule isso, como se fosse um teste de stress?
Mariana Carvalho

Mariana Carvalho

Curtidas 0

Respostas

Marisiana Battistella

Marisiana Battistella

25/10/2014

Acompanhando ...
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Oi Marisiana, achei esse artigo, mas o autor utiliza outros software para isso.

[url]http://giulianocardoso.wordpress.com/2012/08/17/estressando-o-sql-server/[/url]
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

25/10/2014

Oi Mariana!!
Bem interessante o artigo!
Ele descreve como faz sem o uso de ferramentas, veja no final do artigo onde diz "Fazendo de forma manual".
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Faz-se o batch com sqlcmd? não entendi bem.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

25/10/2014

Também fiquei em dúvida nisso, pois não conheço...
Veja no final do artigo que tem um link em "sqlcmd", ele redireciona para uma diretório, se vc procurar nesse diretório pelo nome sqlcmd ele vai abrir uma pagina com a documentação da Microsoft sobre esse assunto..
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Então deve ser, uma coisa chama a outro, eu pensando que poderia utilizar o Management Studio.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Alguem tem mais informações?
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

O SQLCMD permite executar queries/scripts usando linha de comando no "prompt do DOS", veja a imagem:

[img]http://arquivo.devmedia.com.br/forum/imagem/238223-20141109-001249.png[/img]

Então você pode gerar um script, inclusive o do artigo do link e rodar.

Mais informações aqui:
http://msdn.microsoft.com/pt-br/library/ms162773.aspx
http://www.educoutinho.com.br/desenvolvimento/sql-server/executar-script-sql-server-via-linha-de-comando/
http://4sqlserver.wordpress.com/2012/07/03/utilizando-sqlcmd-para-executar-script-em-varios-servidores/

Qualquer dúvida é só se manifestar, agora não garanto saber ajudar. kkkkkkkk
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

25/10/2014

Agora que vi a imagem me situei...
Ele deve ser mais ou menos como o SQLPlus da Oracle, que é uma ferramenta com uma interface de linha de comando.
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

Agora que vi a imagem me situei...
Ele deve ser mais ou menos como o SQLPlus da Oracle, que é uma ferramenta com uma interface de linha de comando.


Isto mesmo.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

25/10/2014

E com relação a questão inicial do tópico Jothaz..

Estou procurando algo para testar e ao mesmo tempo simular a quantidade de select´s feito no banco, existe algum comando que simule isso, como se fosse um teste de stress?


Você conhece algum recurso para fazer isso que a Mariana questionou?
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

Marisiana,

Para variar depende do cenário.

Se não houver nenhuma restrição quanto a instalação de softwares, use as ferramentas sugeridas no artigo citado. São grátis e tem interface gráfica o que facilita. Claro que terá uma curva de aprendizado.

Caso contrário o jeito e utilizar o SQLCMD, no artigo mostra como criar conexões simultâneas e só. Os scripts de stress terão de ser desenvolvidos na mão. Então acho que, no caso, de iniciantes é um pouco mais complicado. Talvez com uma pesquisa no google sobre "SQLCMD stress bd" possa aclarar o tema.

Eu nunca tive que me preocupar com esta parte, pois normalmente nos projetos em que trabalho tem um área de dados que executa este testes.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

25/10/2014

No momento não surgiu necessidade de utilizar um recurso assim, acompanhei o tópico pra conhecimento...
Vou salvar as dicas e seguir tua dica de pesquisa!
Obrigada!
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

No momento não surgiu necessidade de utilizar um recurso assim, acompanhei o tópico pra conhecimento...
Vou salvar as dicas e seguir tua dica de pesquisa!
Obrigada!


De nada!
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Atrasada!!! Jothaz, conhece algum teste?
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

Atrasada!!! Jothaz, conhece algum teste?


Nos projetos em que trabalhei, apesar de criar a modelagem, sempre tinha uma área de dados que realizava o QA.
Normalmente é gerado um documento com as principais características do bd independente da metodologia usada, neste documento são estimados as seguintes informações: especifícação do servidor, qual banco de dados será usado (sql, oracle etc), qtde de tabelas, tamanho máximo das colunas, tamanho em bytes, número de acesso concorrentes, previsão do tamanho e crescimento do bd, índices criados, usabilidade (intranet/internet), horário de uso normal e pico entre outros.
Então munidos destes subsídios os testes são por eles. Dai retornava os ajustes no modelo ou em tabelas específicas, tipo: criação de índices e etc.

Algumas empresas usam técnicas de tuning que levam outros parâmetros em consideração.
https://www.devmedia.com.br/tuning-de-sql-em-bancos-de-dados-oracle-revista-sql-magazine-97/23810

Então nunca tive de me preocupar com estes testes. Normalmente me preocupava com testes na aplicação e nos ajustes propostos no modelo.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

O Tuning é espeficamente um teste de stress? me desculpa já li sobre tuning mas não lembro bem.
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

O Tuning é espeficamente um teste de stress? me desculpa já li sobre tuning mas não lembro bem.


Seria mais para analisar performance e segurança.
Leva em consideração: arquitetura da aplicação, hardware, rede e etc.

Em algumas empresas é analisado em conjunto com o teste do stress.

Para isto devem ser gerados vários artefatos descrendo as minucias do projeto com disse acima.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Ele engloba tudo, toda uma perfomance.
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

Ele engloba tudo, toda uma perfomance.


Não sei se entendi a pergunta!

Seria assim:

Stress vai avaliar o funcionamento interno do banco de dados: a modelagem , índeces, instruçoes, quantidade de acessos concorrentes e etc.

O Tuning aborda questões externas: hardware, rede, arquitetura da aplicação.

Tudo subsidiado por artefatos gerados pela equipe.

Vale ressaltar que isto geralmente é usado/exigido por empresas de grande porte com uma metodologia madura e definida, seja estruturada (acho que ninguém mais usa) ou orientada a objetos (RUP).

Somente o teste de stress já ajuda e muito.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

entendi errado, o que utilizar para o teste de stress?
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

entendi errado, o que utilizar para o teste de stress?


Vai vai usar ferramentas extgernas ou SQLCMD?
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Eu queria tivesse no proprio Management Studio, não tem?
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

Não tem como. Você vai usá-lo para criar as expressões SQL para efetuar os testes.

Para executar os teste você usa:

Ferramentas de terceiros, podem ser mais simples pois tem interface gráfica e seria só gerar a queries e rodar. no link que você postou acima tem várias sugestões e todas grátis.

SQLCMD, ferramenta de execução bacth do sql, necessita um maior conhecimento, pois deverá criar todos os script´s, inclusive para gerar conexões simultâneas e a queries para testar o stress.

Um roteiro básico seria bem grosseiro:
1-Criar queries para efetuar insert´s maciço de dados.
2-Criar queries para efetuar delete´s maciço de dados.
3-Criar queries para efetuar update´s maciço de dados.
4-Criar queries para efetuar select´s maciça de dados.
5-Rudo isso com conexões simultâneas, para verificar o stress.

Se este teste de stress esta sendo feito para algum cliente para o qual você desenvolveu, normalmente ele terá um roteiro preparado.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Nada é tão simples quanto parece, Management parecia uma ferramenta completa., rsrs.
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

Nada é tão simples quanto parece, Management parecia uma ferramenta completa., rsrs.


Tudo é muito simples depois que você sabe como fazer! kkkkk

Management é completíssima! Acredito que é uma das melhores do mercado só que o objetivo dela é outro. Não é para teste de stress.

Como nunca me dediquei ao assunto não sei lhe passar o cominho das pedras, mas vou pesquisar e achando qualquer novidade posto aqui.
GOSTEI 0
Soeuseijothaz

Soeuseijothaz

25/10/2014

Dê uma olhada neste link:
https://www.youtube.com/watch?v=406k_MykrQE

Este vídeo talvez lhe ajude a absolver melhor como proceder.

No caso o camarada esta usando um software de terceiro junto com o profile server.

Veja que ele cria uma chama a uma stored procedure para incluir dados no banco de dados e define o tempo de duração e quantas thread (execuções) simultâneas serão executadas.

E usa o Server Profiler para rastrear os comando.

Na tela aparece o custo de CPU e o tempo gasto por comando.

Em resumo acho que todos os software vão ser parecidos com mais ou menos funcionalidades.

Depende você qual teste fazer. Como sugeri acima acho que deve testar: insert, update, delete e select.

Espero que tenha dado uma luz.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Obrigada novamente jothaz!
GOSTEI 0
Alex Lekao

Alex Lekao

25/10/2014

Ola Boa tarde!!!

Chegando atrasado e sem conhecimento para contribuir. rsrsr

Eu iria sugerir usar o Profiler mesmo para monitorar alguma atividade no banco.

Ja utilizei para achar o que estava sendo gravado no banco e alguma variavel que aplicacao estava usando, achamos o erro na ocasiao e foi corrigido.

Neste caso ele proprio consome bastante do servidor e acaba interferindo no mesmo.

Agora vc so teria que fazer as agregacoes que foram citadas, insertes, deletes, update, etc., todos macicos.

Desculpe por nao contribuir a contento.

Abraco.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

25/10/2014

Uma opção tambem valida Alex, mas nesse caso é para saber se está com algum problema.
GOSTEI 0
POSTAR