<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zezologs&#187; Teste de Performance</title>
	<atom:link href="http://www.zezologs.org/blog/tag/teste-de-performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zezologs.org/blog</link>
	<description>teste de software, prevenção de erros, automação</description>
	<lastBuildDate>Thu, 08 Sep 2011 12:49:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dicas JMeter: &#8216;Once Only Controller&#8217;</title>
		<link>http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/</link>
		<comments>http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 16:51:25 +0000</pubDate>
		<dc:creator>eudescosta</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Teste de Performance]]></category>

		<guid isPermaLink="false">http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/</guid>
		<description><![CDATA[<p>Quando executamos um teste de performance, carga ou stress em alguma aplicação WEB usando JMeter, devemos ter bastante cuidado para que o script confeccionado para a realização do teste não afete os resultados, isso é um pensamento bastante óbvio que devemos ter em mente antes de executarmos um teste desta natureza.</p>
<p>É natural, que ao escrevermos o nosso primeiro script no JMeter, WebLoad, WAST, ou qualquer outra ferramenta, essa preocupação não esteja na lista de prioridades, pois estamos preocupados em ver o script funcionado&#8230;mas quando falamos em testar performance de aplicações, precisamos sim ter um cuidado muito especial com a performance do seu próprio script, por uma razão obvia: <strong>Seu script pode estar &#8216;retardando&#8217; ainda mais a aplicação</strong>.</p>
<p>É importante entendermos que seu script deverá conter uma rotina lógica, sensata e real.</p>
<p></p>
<p>Quando planejamos testar a vazão/throughput de uma tela de cadastro, por exemplo, não faz sentido termos requisições que logam no sistema sendo executadas a cada thread, isso é um exemplo claro, de que o seu script irá afetar <strong>SIM </strong>o resultado do seu teste! tornando-o <strong>NÃO CONFIÁVEL.</strong></p>
<p>Pois bem, a dica aqui é bem simples, no JMeter existe um &#8216;Logic Controller&#8217; chamado &#8216;Once Only Controller&#8217;, como próprio nome sugere, &#8216;Controlador Apenas Uma Vez&#8217;.</p>
<p>Incluindo uma thread nesse controller, fará com que sua requisição seja executada apenas no início do seu script, ele deverá ficar desta forma:</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/09/image.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/09/image-thumb.png" alt="image" width="240" height="171" /></a></p>
<p>Observe que tenho 3 requisições dentro do meu &#8216;Once Only Controller&#8217; isso fará com que eles sejam executados apenas no início do script, como mostra umagem abaixo.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/09/image1.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/09/image-thumb1.png" alt="image" width="240" height="171" /></a></p>
<p>È isso, devemos ter alguns cuidados com o nosso script, pois ele pode afetar o resultado dos testes, e práticas bastante simples como esta acima mencionada, nos evita alguns problemas.</p>
<br><hr /><h2>comentários</h2><li><a href="http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/">terça-feira, agosto 11, 2009</a>, Paula comentou: Bom dia,

Gostaria de saber como crio ou configuro o Jmeter para realizar teste de stress, criei o script que tem várias telas de cadastro, e queria simular o máximo de usuários logados e fazendo esses cadastros, mas não consegui entender qual recurso eu uso no Jmeter, vc poderia me ajudar?</li><br><li><a href="http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/">quinta-feira, agosto 13, 2009</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: Paula, 

Olha no post http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/ ?</li><br><hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/estimando-esforo-de-automao/" rel="bookmark" title="Permanent Link: Estimando Esforço de Automação">Estimando Esforço de Automação</a></li><li><a href="http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter (2)">Ferramentas de Teste: JMeter (2)</a></li><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter">Ferramentas de Teste: JMeter</a></li><li><a href="http://www.zezologs.org/blog/forum-no-ar/" rel="bookmark" title="Permanent Link: Forum no ar!">Forum no ar!</a></li><li><a href="http://www.zezologs.org/blog/testes-unitrios-dicas-iniciais/" rel="bookmark" title="Permanent Link: Testes Unit&aacute;rios Dicas Iniciais">Testes Unit&aacute;rios Dicas Iniciais</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> <p>Quando executamos um teste de performance, carga ou stress em alguma aplicação WEB usando JMeter, devemos ter bastante cuidado para que o script confeccionado para a realização do teste não afete os resultados, isso é um pensamento bastante óbvio que devemos ter em mente antes de executarmos um teste desta natureza.</p>
<p>É natural, que ao escrevermos o nosso primeiro script no JMeter, WebLoad, WAST, ou qualquer outra ferramenta, essa preocupação não esteja na lista de prioridades, pois estamos preocupados em ver o script funcionado&#8230;mas quando falamos em testar performance de aplicações, precisamos sim ter um cuidado muito especial com a performance do seu próprio script, por uma razão obvia: <strong>Seu script pode estar &#8216;retardando&#8217; ainda mais a aplicação</strong>.</p>
<p>É importante entendermos que seu script deverá conter uma rotina lógica, sensata e real.</p>
<p></p>
<p>Quando planejamos testar a vazão/throughput de uma tela de cadastro, por exemplo, não faz sentido termos requisições que logam no sistema sendo executadas a cada thread, isso é um exemplo claro, de que o seu script irá afetar <strong>SIM </strong>o resultado do seu teste! tornando-o <strong>NÃO CONFIÁVEL.</strong></p>
<p>Pois bem, a dica aqui é bem simples, no JMeter existe um &#8216;Logic Controller&#8217; chamado &#8216;Once Only Controller&#8217;, como próprio nome sugere, &#8216;Controlador Apenas Uma Vez&#8217;.</p>
<p>Incluindo uma thread nesse controller, fará com que sua requisição seja executada apenas no início do seu script, ele deverá ficar desta forma:</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/09/image.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/09/image-thumb.png" alt="image" width="240" height="171" /></a></p>
<p>Observe que tenho 3 requisições dentro do meu &#8216;Once Only Controller&#8217; isso fará com que eles sejam executados apenas no início do script, como mostra umagem abaixo.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/09/image1.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/09/image-thumb1.png" alt="image" width="240" height="171" /></a></p>
<p>È isso, devemos ter alguns cuidados com o nosso script, pois ele pode afetar o resultado dos testes, e práticas bastante simples como esta acima mencionada, nos evita alguns problemas.</p>
<br><hr /><h2>comentários</h2><li><a href="http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/">terça-feira, agosto 11, 2009</a>, Paula comentou: Bom dia,

Gostaria de saber como crio ou configuro o Jmeter para realizar teste de stress, criei o script que tem várias telas de cadastro, e queria simular o máximo de usuários logados e fazendo esses cadastros, mas não consegui entender qual recurso eu uso no Jmeter, vc poderia me ajudar?</li><br><li><a href="http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/">quinta-feira, agosto 13, 2009</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: Paula, 

Olha no post http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/ ?</li><br><hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/estimando-esforo-de-automao/" rel="bookmark" title="Permanent Link: Estimando Esforço de Automação">Estimando Esforço de Automação</a></li><li><a href="http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter (2)">Ferramentas de Teste: JMeter (2)</a></li><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter">Ferramentas de Teste: JMeter</a></li><li><a href="http://www.zezologs.org/blog/forum-no-ar/" rel="bookmark" title="Permanent Link: Forum no ar!">Forum no ar!</a></li><li><a href="http://www.zezologs.org/blog/testes-unitrios-dicas-iniciais/" rel="bookmark" title="Permanent Link: Testes Unit&aacute;rios Dicas Iniciais">Testes Unit&aacute;rios Dicas Iniciais</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> ]]></description>
		<wfw:commentRss>http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ferramentas de Teste: JMeter</title>
		<link>http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/</link>
		<comments>http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 02:54:10 +0000</pubDate>
		<dc:creator>eudescosta</dc:creator>
				<category><![CDATA[Ferramentas de Teste]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[jmeter]]></category>
		<category><![CDATA[Teste de Performance]]></category>

		<guid isPermaLink="false">http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/</guid>
		<description><![CDATA[<p>Vou falar agora um pouco sobre o <a href="http://jakarta.apache.org/jmeter/">jmeter</a>, uma ferramenta do grupo <a href="http://www.apache.org">apache</a>, para a realização de testes de performance, carga e stress. Apesar de ser este o foco do jmeter (testes de performance, carga e stress) ele também pode ser utilizado para realizar testes em webservices, banco de dados e também automatizar alguns teste funcionais, seu uso, alias, é bastante amplo. Lógico que existem ferramentas que desempenham o mesmo papel que o Jmeter como o caso <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&amp;displaylang=en">WAST (Web Application Stress Test)</a>, <a href="http://www.webload.org/ ">WebLoad</a> mas vamos aborar jmeter neste momento.</p>
<p>Irei mostar a seguir, o Jmeter em sua operação mais básica e nos posts decorrentes irei aprofundando na sua aplicação.</p>
<p>Quem vê o Jmeter pela primeira vez não deve se sentir muito confortável devido a sua relativa falta de intuitividade, mas isso logo passa depois que você entende sua estrutura, que pelo que vocês irão ver, é bem simples.</p>
<p></p>
<p>Creio que a melhor forma de entender a estrutura de elementos da árvore do Jmeter é mostrando logo de início um script do Jmeter todo pronto, pois assim fica mais prático. Irei portanto, usar como exemplo um script que escrevi para alguns testes de performance e stress, são scripts simples que mostram como é fácil usar esta ferramenta.</p>
<p>Antes, irei mostrar onde se encontram os elementos que serão utilizados no exemplo que irei dar, veja na imagem abaixo como chegar neles.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image6.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb6.png" alt="image" width="240" height="158" /></a></p>
<p>Bem agora vamos para o script com os elementos que utilizei.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image7.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb7.png" alt="image" width="199" height="240" /></a></p>
<p>Vamos lá, na ordem:</p>
<p><strong>1.</strong> Inserindo História &#8211; Thread Group (<strong>Add &gt; New &gt; Thread Group</strong>)</p>
<p>Este é o começo de qualquer script (ou plano de teste, se preferir) no jmeter, este elemento inicia seu script, todos os outros elementos que serão interpretados pelo jmeter devem ficar obrigatoriamente abaixo deste thread group, você pode, se preferir, organizar seu script em vários thread groups sem problemas. É aqui no Thread Group que você irá indicar número de conexões simultâneas, Ramp-up e Tempo de Execução.</p>
<p><strong>2. </strong>HTTP Request Defaults (<strong>Thread Group &gt; Add &gt; Config Element &gt; HTTP Request Defaults</strong>)</p>
<p>Aqui você define o padrão de seus requests HTTP, este elemento basicamente gerência os HTTP requests que essa thread está prestes a fazer.</p>
<p>O que basicamente deve estar preenchido neste elemento é o campo <strong>Server Name or IP.</strong></p>
<p><strong>3.</strong> HTTP Cookie Manager (<strong>Thread Group &gt; Add &gt; Config Element &gt; HTTP Cookie Manager</strong>)</p>
<p>Suporte a Cookies, você pode remover este elemento, mas recomendo deixar. Este elemento garante que cada Thread vai receber seu próprio cookie.</p>
<p><strong>4.</strong> CSV Data Set Config (<strong>Thread Group &gt; Add &gt; Config Element &gt; CSV Data Set Config</strong>)</p>
<p>Esta aqui é uma facilidade do jmeter, em telas de login ou qualquer tela que você tenha que passar dados para o browser, você pode usar este elemento, ele funciona da seguinte forma.</p>
<p>Você preenche arquivo .csv com os parâmetros que você vai querer passar, conforme imagem abaixo</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image8.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb8.png" alt="image" width="137" height="66" /></a></p>
<p>Salve e depois volte ao elemento CSV Data Set Config e informe respectivamente nome para os valores acima <em>admin</em> e <em>1234</em>, conforme imagem abaixo</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image9.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb9.png" alt="image" width="240" height="23" /></a></p>
<p>Neste momento, ao rodar o script o jmeter vai vincular <em>USER=admin</em> e <em>PASS=1234</em>, e você pode chamar estes valores em qualquer lugar do script assim: <em>${USER}</em> e <em>${PASS}.</em></p>
<p>No caso deste script irei utilizar estes valores no campo abaixo.</p>
<p><strong>5.</strong> /redes2/login.do</p>
<p>Aqui é onde começa a interação com o browser, ou seja, onde as requisições são efetivamente realizadas, existe uma forma bem fácil de conseguir estas informações, usando uma funcionalidade chamada <strong>HTTP Proxy Server.</strong></p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image10.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb10.png" alt="image" width="240" height="56" /></a></p>
<p>Com o <strong>HTTP Proxy Server </strong>você pode gravar ações no browser e o jmeter irá gravando tudo pra você, basta que você informe nas configurações de seu browser a porta 8080 (você pode alterar para qualquer porta disponível no seu pc) e pressionar PLAY</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image11.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb11.png" alt="image" width="219" height="41" /></a></p>
<p>Pronto, feito isso, o jmeter deverá lhe poupar de realizar manualmente estes passos.</p>
<p>Como mencionado no tópico 5) irei usar os valores <em>${USER}</em> e <em>${PASS}</em> aqui.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image12.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb12.png" alt="image" width="240" height="44" /></a></p>
<p><strong>6.</strong> Browser-derived headers</p>
<p>Estes controles o <strong>HTTP Proxy Server </strong>adiciona automaticamente, não se preocupe com eles.</p>
<p><strong>7.</strong> /redes2/viewHome.do</p>
<p>Mais um request gravado pelo <strong>HTTP Proxy Server </strong></p>
<p><strong>8.</strong> Browser-derived headers</p>
<p>Estes controles o <strong>HTTP Proxy Server </strong>adiciona automaticamente, não se preocupe com eles.</p>
<p><strong>9.</strong> /iredes2/confirmCreateNarrative.do</p>
<p>Mais um request gravado pelo <strong>HTTP Proxy Server </strong></p>
<p><strong>10.</strong> Browser-derived headers</p>
<p>Estes controles o <strong>HTTP Proxy Server </strong>adiciona automaticamente, não se preocupe com eles.</p>
<p><strong>11.</strong> Counter &#8211; (<strong>Thread Group &gt; Add &gt; Pre Processors &gt; Counter</strong>)</p>
<p>Esta aqui é outra facilidade do jmeter, quando existe a necessidade de se incluir vários registros sequencialmente no banco, a melhor forma de se fazer isso é via estes Counters, ele vai basicamente incrementar em +1 (isto no entanto é configurável)</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image13.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb13.png" alt="image" width="240" height="214" /></a></p>
<p>No caso acima ele vai começar com 1 incrementar de 1 em 1 até 100 e o nome de referência é H, ou seja, onde você quiser utilizar este counter, basta chamar<em> ${H}</em> onde queres incrementar, veja imagem abaixo.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image14.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb14.png" alt="image" width="240" height="61" /></a></p>
<p><strong>12.</strong> View Results in Table &#8211; (<strong>Thread Group &gt; Add &gt; Listener &gt; View Results in Table</strong>)</p>
<p>Bem aqui é a parte dos relatórios, este relatório exibirá os seguintes valores</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image15.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb15.png" alt="image" width="240" height="10" /></a></p>
<p><strong>13.</strong> View Results Tree &#8211; (<strong>Thread Group &gt; Add &gt; Listener &gt; View Results Tree</strong>)</p>
<p>Os resultados estão vazios, mas ele lista aqui todos os requests e alem disso aqui você tambem pode renderizar o HTML e ver exatamente o que este request fez, ótimo para debugar caso ocorra algum problema.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image16.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb16.png" alt="image" width="225" height="240" /></a></p>
<p><strong>14.</strong> Graph Results &#8211; (<strong>Thread Group &gt; Add &gt; Listener &gt; Graph Results</strong>)</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image17.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb17.png" alt="image" width="240" height="157" /></a></p>
<p><strong>15.</strong> Save Responses to a file &#8211; (<strong>Thread Group &gt; Add &gt; Post Processors &gt; Save Resonses to a file</strong>)</p>
<p>Salva requisições em um arquivo</p>
<p><strong>16.</strong> Generate Summary Results &#8211; (<strong>Thread Group &gt; Add &gt; Post Processors &gt; Generate Summary Results</strong>)</p>
<p>Salva um sumário em um arquivo</p>
<p>Você pode organizar tudo em várias threads desta forma</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image18.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb18.png" alt="image" width="240" height="226" /></a></p>
<p>E antes de finalizar esta parte que é a mais importante</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image19.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb19.png" alt="image" width="235" height="163" /></a></p>
<p>Estas são as propriedade de uma Thread, você deve informar nela o que você vai fazer</p>
<p><strong>Number of Threads</strong> &#8211; Quantidade de Threads que será realizada</p>
<p><strong>Ram-UP</strong> &#8211; Tempo que o jmeter para executar as threads informada acima</p>
<p><strong>Loop </strong>- Quantas vezes ele irá realizar esta atividade</p>
<p>No caso acima 10 requisições em 60 segundos repetindo 5 vezes</p>
<p>No final consolido estes resultados em uma planilha</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image20.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb20.png" alt="image" width="240" height="106" /></a></p>
<p>Update 08/09/2011</p>
<p><a title="Gráfico Performance" href="http://www.zezologs.org/wp-content/uploads/downloads/2011/09/performance.xls" target="_blank">Download do arquivo .xls com o gráfico acima. </a></p>
<br><hr /><h2>comentários</h2><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">terça-feira, junho 10, 2008</a>, <a href='http://www.via6.com/topico.php?tid=188652' rel='external nofollow' class='url'>Eudes via Rec6</a> comentou: <strong>Testando Performance de Aplicações WEB com JMeter...</strong>

Uma introdução a ferramenta de testes de performance, carga e stress chamada JMeter.
...</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">terça-feira, novembro 11, 2008</a>, <a href='http://www.worldorg.net' rel='external nofollow' class='url'>Flávio</a> comentou: O que são aquelas infomações em Graph Full e como eu pego o relatório aquele que é exibido no final?</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sexta-feira, novembro 14, 2008</a>, Claudio comentou: Valeu pelo tutorial.....vou começar a brincar com ele.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quarta-feira, janeiro 21, 2009</a>, Scheila comentou: Bom dia,

Muito legal o post! É sempre bom conhecer novas ferramentas...
Só gostaria de mais explicações sobre como eu faço para que a ferramenta grave as ações que farei no site para depois poder testar...
Gostaria tbm de dicas de outros bons livros e artigos para o Jmeter.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, abril 23, 2009</a>, Fernando comentou: muito confuso o tutorial, poderia detalhar mais para facilitar o uso da ferramenta, me perdi na parte "irei usar os valores ${USER} e ${PASS} aqui." aqui onde ? , mas valeu pela intenção de ajudar.  ≈up≈</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sexta-feira, abril 24, 2009</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: Fernando, obrigado pelo feedback.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">terça-feira, março 23, 2010</a>, Edson comentou: Gostaria de saber como ler esses resultados apresentados nos gráficos, ou seja, o que o esá dizendo o gráfico entende?
Se poder me ajudar,,, to precisando muito.... se vc ouber de alguns livro eu aceito....

Valeu.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quarta-feira, junho 30, 2010</a>, joao batista comentou: Cara muito bom o tutorial, gostaria de saber como vc gerou.

Consolido de resultados em uma planilha</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, julho 1, 2010</a>, joao batista comentou: Como faço para consolidar o resulta e uma planilha iqual seu exemplo

No final consolido estes resultados em uma planilha</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sábado, julho 17, 2010</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: João,

É um copy & paste da tela do jmeter.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">segunda-feira, agosto 16, 2010</a>, Rodrigo Arriel comentou: Como pego o resultado do teste e monto um XLS?</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quarta-feira, agosto 18, 2010</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: copy + paste :)</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 23, 2010</a>, joao batista comentou: Boa tarde, Gostaria de saber qual ouvinte, vc utilizou para gerar este grafico.

que esta no final de seu post.

desde já fico grato.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 23, 2010</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: @joão, este gráfico gerei no excel, utilizando como input inormações coletadas do 'View Results in Table'</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sábado, setembro 3, 2011</a>, Leandro comentou: Gostaria de saber se é possível disponibilizar este seu grafico?

Grato.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, joao batista comentou: Excelente post, a minha maior duvida, e interpretar o resultado final, e passar a informação correta ao cliente. Você  teria algum post explicando como analisar os resultado do Listem.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: Leandro, Todos,

Atualizei post com o link para download do gráfico que uso neste passo a passo.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, <a href='http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/' rel='external nofollow' class='url'>Ferramentas de Teste: JMeter (2) | zezologs</a> comentou: [...] leitores do blog e do post me questionam sobre qual o critério usamos para determinar que uma aplicação WEB está reprovada [...]</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: João,

Olha em http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/</li><br><hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/" rel="bookmark" title="Permanent Link: Dicas JMeter: &#8216;Once Only Controller&#8217;">Dicas JMeter: &#8216;Once Only Controller&#8217;</a></li><li><a href="http://www.zezologs.org/blog/questionamentos-sobre-o-testlink-1/" rel="bookmark" title="Permanent Link: Questionamentos sobre o Testlink (#1)">Questionamentos sobre o Testlink (#1)</a></li><li><a href="http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter (2)">Ferramentas de Teste: JMeter (2)</a></li><li><a href="http://www.zezologs.org/blog/testes-unitrios-com-csunit/" rel="bookmark" title="Permanent Link: Testes Unit&aacute;rios com csUnit">Testes Unit&aacute;rios com csUnit</a></li><li><a href="http://www.zezologs.org/blog/cobertura-de-cdigo-com-ncover/" rel="bookmark" title="Permanent Link: Cobertura de C&oacute;digo com NCover">Cobertura de C&oacute;digo com NCover</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> <p>Vou falar agora um pouco sobre o <a href="http://jakarta.apache.org/jmeter/">jmeter</a>, uma ferramenta do grupo <a href="http://www.apache.org">apache</a>, para a realização de testes de performance, carga e stress. Apesar de ser este o foco do jmeter (testes de performance, carga e stress) ele também pode ser utilizado para realizar testes em webservices, banco de dados e também automatizar alguns teste funcionais, seu uso, alias, é bastante amplo. Lógico que existem ferramentas que desempenham o mesmo papel que o Jmeter como o caso <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&amp;displaylang=en">WAST (Web Application Stress Test)</a>, <a href="http://www.webload.org/ ">WebLoad</a> mas vamos aborar jmeter neste momento.</p>
<p>Irei mostar a seguir, o Jmeter em sua operação mais básica e nos posts decorrentes irei aprofundando na sua aplicação.</p>
<p>Quem vê o Jmeter pela primeira vez não deve se sentir muito confortável devido a sua relativa falta de intuitividade, mas isso logo passa depois que você entende sua estrutura, que pelo que vocês irão ver, é bem simples.</p>
<p></p>
<p>Creio que a melhor forma de entender a estrutura de elementos da árvore do Jmeter é mostrando logo de início um script do Jmeter todo pronto, pois assim fica mais prático. Irei portanto, usar como exemplo um script que escrevi para alguns testes de performance e stress, são scripts simples que mostram como é fácil usar esta ferramenta.</p>
<p>Antes, irei mostrar onde se encontram os elementos que serão utilizados no exemplo que irei dar, veja na imagem abaixo como chegar neles.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image6.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb6.png" alt="image" width="240" height="158" /></a></p>
<p>Bem agora vamos para o script com os elementos que utilizei.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image7.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb7.png" alt="image" width="199" height="240" /></a></p>
<p>Vamos lá, na ordem:</p>
<p><strong>1.</strong> Inserindo História &#8211; Thread Group (<strong>Add &gt; New &gt; Thread Group</strong>)</p>
<p>Este é o começo de qualquer script (ou plano de teste, se preferir) no jmeter, este elemento inicia seu script, todos os outros elementos que serão interpretados pelo jmeter devem ficar obrigatoriamente abaixo deste thread group, você pode, se preferir, organizar seu script em vários thread groups sem problemas. É aqui no Thread Group que você irá indicar número de conexões simultâneas, Ramp-up e Tempo de Execução.</p>
<p><strong>2. </strong>HTTP Request Defaults (<strong>Thread Group &gt; Add &gt; Config Element &gt; HTTP Request Defaults</strong>)</p>
<p>Aqui você define o padrão de seus requests HTTP, este elemento basicamente gerência os HTTP requests que essa thread está prestes a fazer.</p>
<p>O que basicamente deve estar preenchido neste elemento é o campo <strong>Server Name or IP.</strong></p>
<p><strong>3.</strong> HTTP Cookie Manager (<strong>Thread Group &gt; Add &gt; Config Element &gt; HTTP Cookie Manager</strong>)</p>
<p>Suporte a Cookies, você pode remover este elemento, mas recomendo deixar. Este elemento garante que cada Thread vai receber seu próprio cookie.</p>
<p><strong>4.</strong> CSV Data Set Config (<strong>Thread Group &gt; Add &gt; Config Element &gt; CSV Data Set Config</strong>)</p>
<p>Esta aqui é uma facilidade do jmeter, em telas de login ou qualquer tela que você tenha que passar dados para o browser, você pode usar este elemento, ele funciona da seguinte forma.</p>
<p>Você preenche arquivo .csv com os parâmetros que você vai querer passar, conforme imagem abaixo</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image8.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb8.png" alt="image" width="137" height="66" /></a></p>
<p>Salve e depois volte ao elemento CSV Data Set Config e informe respectivamente nome para os valores acima <em>admin</em> e <em>1234</em>, conforme imagem abaixo</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image9.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb9.png" alt="image" width="240" height="23" /></a></p>
<p>Neste momento, ao rodar o script o jmeter vai vincular <em>USER=admin</em> e <em>PASS=1234</em>, e você pode chamar estes valores em qualquer lugar do script assim: <em>${USER}</em> e <em>${PASS}.</em></p>
<p>No caso deste script irei utilizar estes valores no campo abaixo.</p>
<p><strong>5.</strong> /redes2/login.do</p>
<p>Aqui é onde começa a interação com o browser, ou seja, onde as requisições são efetivamente realizadas, existe uma forma bem fácil de conseguir estas informações, usando uma funcionalidade chamada <strong>HTTP Proxy Server.</strong></p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image10.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb10.png" alt="image" width="240" height="56" /></a></p>
<p>Com o <strong>HTTP Proxy Server </strong>você pode gravar ações no browser e o jmeter irá gravando tudo pra você, basta que você informe nas configurações de seu browser a porta 8080 (você pode alterar para qualquer porta disponível no seu pc) e pressionar PLAY</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image11.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb11.png" alt="image" width="219" height="41" /></a></p>
<p>Pronto, feito isso, o jmeter deverá lhe poupar de realizar manualmente estes passos.</p>
<p>Como mencionado no tópico 5) irei usar os valores <em>${USER}</em> e <em>${PASS}</em> aqui.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image12.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb12.png" alt="image" width="240" height="44" /></a></p>
<p><strong>6.</strong> Browser-derived headers</p>
<p>Estes controles o <strong>HTTP Proxy Server </strong>adiciona automaticamente, não se preocupe com eles.</p>
<p><strong>7.</strong> /redes2/viewHome.do</p>
<p>Mais um request gravado pelo <strong>HTTP Proxy Server </strong></p>
<p><strong>8.</strong> Browser-derived headers</p>
<p>Estes controles o <strong>HTTP Proxy Server </strong>adiciona automaticamente, não se preocupe com eles.</p>
<p><strong>9.</strong> /iredes2/confirmCreateNarrative.do</p>
<p>Mais um request gravado pelo <strong>HTTP Proxy Server </strong></p>
<p><strong>10.</strong> Browser-derived headers</p>
<p>Estes controles o <strong>HTTP Proxy Server </strong>adiciona automaticamente, não se preocupe com eles.</p>
<p><strong>11.</strong> Counter &#8211; (<strong>Thread Group &gt; Add &gt; Pre Processors &gt; Counter</strong>)</p>
<p>Esta aqui é outra facilidade do jmeter, quando existe a necessidade de se incluir vários registros sequencialmente no banco, a melhor forma de se fazer isso é via estes Counters, ele vai basicamente incrementar em +1 (isto no entanto é configurável)</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image13.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb13.png" alt="image" width="240" height="214" /></a></p>
<p>No caso acima ele vai começar com 1 incrementar de 1 em 1 até 100 e o nome de referência é H, ou seja, onde você quiser utilizar este counter, basta chamar<em> ${H}</em> onde queres incrementar, veja imagem abaixo.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image14.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb14.png" alt="image" width="240" height="61" /></a></p>
<p><strong>12.</strong> View Results in Table &#8211; (<strong>Thread Group &gt; Add &gt; Listener &gt; View Results in Table</strong>)</p>
<p>Bem aqui é a parte dos relatórios, este relatório exibirá os seguintes valores</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image15.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb15.png" alt="image" width="240" height="10" /></a></p>
<p><strong>13.</strong> View Results Tree &#8211; (<strong>Thread Group &gt; Add &gt; Listener &gt; View Results Tree</strong>)</p>
<p>Os resultados estão vazios, mas ele lista aqui todos os requests e alem disso aqui você tambem pode renderizar o HTML e ver exatamente o que este request fez, ótimo para debugar caso ocorra algum problema.</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image16.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb16.png" alt="image" width="225" height="240" /></a></p>
<p><strong>14.</strong> Graph Results &#8211; (<strong>Thread Group &gt; Add &gt; Listener &gt; Graph Results</strong>)</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image17.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb17.png" alt="image" width="240" height="157" /></a></p>
<p><strong>15.</strong> Save Responses to a file &#8211; (<strong>Thread Group &gt; Add &gt; Post Processors &gt; Save Resonses to a file</strong>)</p>
<p>Salva requisições em um arquivo</p>
<p><strong>16.</strong> Generate Summary Results &#8211; (<strong>Thread Group &gt; Add &gt; Post Processors &gt; Generate Summary Results</strong>)</p>
<p>Salva um sumário em um arquivo</p>
<p>Você pode organizar tudo em várias threads desta forma</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image18.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb18.png" alt="image" width="240" height="226" /></a></p>
<p>E antes de finalizar esta parte que é a mais importante</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image19.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb19.png" alt="image" width="235" height="163" /></a></p>
<p>Estas são as propriedade de uma Thread, você deve informar nela o que você vai fazer</p>
<p><strong>Number of Threads</strong> &#8211; Quantidade de Threads que será realizada</p>
<p><strong>Ram-UP</strong> &#8211; Tempo que o jmeter para executar as threads informada acima</p>
<p><strong>Loop </strong>- Quantas vezes ele irá realizar esta atividade</p>
<p>No caso acima 10 requisições em 60 segundos repetindo 5 vezes</p>
<p>No final consolido estes resultados em uma planilha</p>
<p><a href="http://www.zezologs.org/wp-content/uploads/2008/06/image20.png" rel="lightbox"><img src="http://www.zezologs.org/wp-content/uploads/2008/06/image-thumb20.png" alt="image" width="240" height="106" /></a></p>
<p>Update 08/09/2011</p>
<p><a title="Gráfico Performance" href="http://www.zezologs.org/wp-content/uploads/downloads/2011/09/performance.xls" target="_blank">Download do arquivo .xls com o gráfico acima. </a></p>
<br><hr /><h2>comentários</h2><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">terça-feira, junho 10, 2008</a>, <a href='http://www.via6.com/topico.php?tid=188652' rel='external nofollow' class='url'>Eudes via Rec6</a> comentou: <strong>Testando Performance de Aplicações WEB com JMeter...</strong>

Uma introdução a ferramenta de testes de performance, carga e stress chamada JMeter.
...</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">terça-feira, novembro 11, 2008</a>, <a href='http://www.worldorg.net' rel='external nofollow' class='url'>Flávio</a> comentou: O que são aquelas infomações em Graph Full e como eu pego o relatório aquele que é exibido no final?</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sexta-feira, novembro 14, 2008</a>, Claudio comentou: Valeu pelo tutorial.....vou começar a brincar com ele.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quarta-feira, janeiro 21, 2009</a>, Scheila comentou: Bom dia,

Muito legal o post! É sempre bom conhecer novas ferramentas...
Só gostaria de mais explicações sobre como eu faço para que a ferramenta grave as ações que farei no site para depois poder testar...
Gostaria tbm de dicas de outros bons livros e artigos para o Jmeter.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, abril 23, 2009</a>, Fernando comentou: muito confuso o tutorial, poderia detalhar mais para facilitar o uso da ferramenta, me perdi na parte "irei usar os valores ${USER} e ${PASS} aqui." aqui onde ? , mas valeu pela intenção de ajudar.  ≈up≈</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sexta-feira, abril 24, 2009</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: Fernando, obrigado pelo feedback.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">terça-feira, março 23, 2010</a>, Edson comentou: Gostaria de saber como ler esses resultados apresentados nos gráficos, ou seja, o que o esá dizendo o gráfico entende?
Se poder me ajudar,,, to precisando muito.... se vc ouber de alguns livro eu aceito....

Valeu.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quarta-feira, junho 30, 2010</a>, joao batista comentou: Cara muito bom o tutorial, gostaria de saber como vc gerou.

Consolido de resultados em uma planilha</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, julho 1, 2010</a>, joao batista comentou: Como faço para consolidar o resulta e uma planilha iqual seu exemplo

No final consolido estes resultados em uma planilha</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sábado, julho 17, 2010</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: João,

É um copy & paste da tela do jmeter.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">segunda-feira, agosto 16, 2010</a>, Rodrigo Arriel comentou: Como pego o resultado do teste e monto um XLS?</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quarta-feira, agosto 18, 2010</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: copy + paste :)</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 23, 2010</a>, joao batista comentou: Boa tarde, Gostaria de saber qual ouvinte, vc utilizou para gerar este grafico.

que esta no final de seu post.

desde já fico grato.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 23, 2010</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: @joão, este gráfico gerei no excel, utilizando como input inormações coletadas do 'View Results in Table'</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">sábado, setembro 3, 2011</a>, Leandro comentou: Gostaria de saber se é possível disponibilizar este seu grafico?

Grato.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, joao batista comentou: Excelente post, a minha maior duvida, e interpretar o resultado final, e passar a informação correta ao cliente. Você  teria algum post explicando como analisar os resultado do Listem.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: Leandro, Todos,

Atualizei post com o link para download do gráfico que uso neste passo a passo.</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, <a href='http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/' rel='external nofollow' class='url'>Ferramentas de Teste: JMeter (2) | zezologs</a> comentou: [...] leitores do blog e do post me questionam sobre qual o critério usamos para determinar que uma aplicação WEB está reprovada [...]</li><br><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/">quinta-feira, setembro 8, 2011</a>, <a href='http://www.zezologs.org' rel='external nofollow' class='url'>eudescosta</a> comentou: João,

Olha em http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/</li><br><hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/dicas-jmeter-once-only-controller/" rel="bookmark" title="Permanent Link: Dicas JMeter: &#8216;Once Only Controller&#8217;">Dicas JMeter: &#8216;Once Only Controller&#8217;</a></li><li><a href="http://www.zezologs.org/blog/questionamentos-sobre-o-testlink-1/" rel="bookmark" title="Permanent Link: Questionamentos sobre o Testlink (#1)">Questionamentos sobre o Testlink (#1)</a></li><li><a href="http://www.zezologs.org/blog/ferramentas-de-teste-jmeter-2/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter (2)">Ferramentas de Teste: JMeter (2)</a></li><li><a href="http://www.zezologs.org/blog/testes-unitrios-com-csunit/" rel="bookmark" title="Permanent Link: Testes Unit&aacute;rios com csUnit">Testes Unit&aacute;rios com csUnit</a></li><li><a href="http://www.zezologs.org/blog/cobertura-de-cdigo-com-ncover/" rel="bookmark" title="Permanent Link: Cobertura de C&oacute;digo com NCover">Cobertura de C&oacute;digo com NCover</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> ]]></description>
		<wfw:commentRss>http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Server GC x Workstation GC</title>
		<link>http://www.zezologs.org/blog/server-gc-x-workstation-gc/</link>
		<comments>http://www.zezologs.org/blog/server-gc-x-workstation-gc/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 15:51:11 +0000</pubDate>
		<dc:creator>eudescosta</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Garbage Collection]]></category>
		<category><![CDATA[Teste de Performance]]></category>

		<guid isPermaLink="false">http://www.zezologs.org/blog/2007/12/18/server-gc-x-workstation-gc/</guid>
		<description><![CDATA[<p>Vários artigos sobre performance em .net sugerem que dependendo da aplicação o algoritmo no GC seja alterado&#8230;</p>
<p>Se é uma aplicação desktop (tipo Windows forms) ele aconselha o uso do <strong>Workstation GC (Mscorwks.dll</strong>).Se for uma aplicação servidor ele aconselha o uso do <strong>Server GC (Mscorsvr.dll)</strong>.</p>
<p>No caso do Server GC ele so funciona em um servidor dual processor, pq ele cria dois GC heaps, um pra cada processador.</p>
<p>O Server GC é “tunado” para otimizar: throughput, comsumo de memória e fornece a escalabilidade que o dual processor deve prover&#8230;.se ele for dual processor e usarmos o Workstation GC ele vai usar a aplicação como se tivesse só um processador&#8230;.</p>
<p></p>
<p>Pra saber qual o algoritmo GC que sua aplicação esta usando é fácil vá no console do windows e digite:</p>
<p>tasklist /m mscorwks.dll</p>
<p>Ele deverá lhe mostrar isto:</p>
<pre>Image Name                   PID Modules
========================= ====== ==================
OUTLOOK.EXE                 3352 mscorwks.dll
mmc.exe                     2084 mscorwks.dll
w3wp.exe                    3436 mscorwks.dll</pre>
<p>Para configurar sua aplicação para o modo servidor no seu arquivo de configuração adicione a linha:</p>
<blockquote><p>&lt;configuration&gt;</p>
<p>&lt;runtime&gt;</p>
<p>&lt;gcServer enabled=&#8221;true&#8221; /&gt;</p>
<p>&lt;/runtime&gt;</p>
<p>&lt;/configuration&gt;</p></blockquote>
<p>Lembre-se que para rodar o Server GC seu servidor deverá ser dual processor.</p>
<hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/identificando-gargalos-em-net-com-contadores-de-performance/" rel="bookmark" title="Permanent Link: .NET e Contadores de Performance">.NET e Contadores de Performance</a></li><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter">Ferramentas de Teste: JMeter</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> <p>Vários artigos sobre performance em .net sugerem que dependendo da aplicação o algoritmo no GC seja alterado&#8230;</p>
<p>Se é uma aplicação desktop (tipo Windows forms) ele aconselha o uso do <strong>Workstation GC (Mscorwks.dll</strong>).Se for uma aplicação servidor ele aconselha o uso do <strong>Server GC (Mscorsvr.dll)</strong>.</p>
<p>No caso do Server GC ele so funciona em um servidor dual processor, pq ele cria dois GC heaps, um pra cada processador.</p>
<p>O Server GC é “tunado” para otimizar: throughput, comsumo de memória e fornece a escalabilidade que o dual processor deve prover&#8230;.se ele for dual processor e usarmos o Workstation GC ele vai usar a aplicação como se tivesse só um processador&#8230;.</p>
<p></p>
<p>Pra saber qual o algoritmo GC que sua aplicação esta usando é fácil vá no console do windows e digite:</p>
<p>tasklist /m mscorwks.dll</p>
<p>Ele deverá lhe mostrar isto:</p>
<pre>Image Name                   PID Modules
========================= ====== ==================
OUTLOOK.EXE                 3352 mscorwks.dll
mmc.exe                     2084 mscorwks.dll
w3wp.exe                    3436 mscorwks.dll</pre>
<p>Para configurar sua aplicação para o modo servidor no seu arquivo de configuração adicione a linha:</p>
<blockquote><p>&lt;configuration&gt;</p>
<p>&lt;runtime&gt;</p>
<p>&lt;gcServer enabled=&#8221;true&#8221; /&gt;</p>
<p>&lt;/runtime&gt;</p>
<p>&lt;/configuration&gt;</p></blockquote>
<p>Lembre-se que para rodar o Server GC seu servidor deverá ser dual processor.</p>
<hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/identificando-gargalos-em-net-com-contadores-de-performance/" rel="bookmark" title="Permanent Link: .NET e Contadores de Performance">.NET e Contadores de Performance</a></li><li><a href="http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/" rel="bookmark" title="Permanent Link: Ferramentas de Teste: JMeter">Ferramentas de Teste: JMeter</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> ]]></description>
		<wfw:commentRss>http://www.zezologs.org/blog/server-gc-x-workstation-gc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET e Contadores de Performance</title>
		<link>http://www.zezologs.org/blog/identificando-gargalos-em-net-com-contadores-de-performance/</link>
		<comments>http://www.zezologs.org/blog/identificando-gargalos-em-net-com-contadores-de-performance/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 20:10:32 +0000</pubDate>
		<dc:creator>eudescosta</dc:creator>
				<category><![CDATA[Execução de Testes]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Teste de Performance]]></category>

		<guid isPermaLink="false">http://www.zezologs.org/blog/2007/12/05/identificando-gargalos-em-net-com-contadores-de-performance/</guid>
		<description><![CDATA[<p>O próprio windows vem com uma ferramenta para indentificar gargalos em .net, o nome desta ferramenta é &#8220;Performance&#8221; <img src='http://www.zezologs.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8230;fica em: Painel de Controle &#8211; Ferramentas Administrativas &#8211; Performance.</p>
<p>Nao sei se muitos usam essa ferramenta, eu já usei anteriormente mas nunca notei que ele tinha contadores de performance para .NET</p>
<p>Alguns artigos indicam o uso desta ferramenta para identificar gargalos em aplicações .NET para então com uso de outras ferramentas (profillers) atacar a causa raiz.(Em um futuro momento farei algumas apresentações de profilers que uso e usei)</p>
<p></p>
<p>Os contadores para estas analises são:</p>
<p>Memory Process\Private Bytes<br />
.NET CLR Memory\% Time in GC<br />
.NET CLR Memory\# Bytes in all Heaps<br />
.NET CLR Memory\# Gen 0 Collections<br />
.NET CLR Memory\# Gen 1 Collections<br />
.NET CLR Memory\# Gen 2 Collections<br />
.NET CLR Memory\# of Pinned Objects<br />
.NET CLR Memory\Large Object Heap size<br />
Working Set Process\Working Set</p>
<p>Exceptions<br />
.NET CLR Exceptions\# of Exceps Thrown /sec</p>
<p>Contention<br />
.NET CLR LocksAndThreads\Contention Rate / sec<br />
.NET CLR LocksAndThreads\Current Queue Length</p>
<p>Threading<br />
.NET CLR LocksAndThreads\# of current physical Threads<br />
Thread\% Processor Time<br />
Thread\Context Switches/sec<br />
Thread\Thread State</p>
<p>Code Access Security<br />
.NET CLR Security\Total Runtime Checks<br />
.NET CLR Security\Stack Walk Depth</p>
<p>Fontes:<br />
<a href="http://www.codeproject.com/dotnet/perfcounter.asp">http://www.codeproject.com/dotnet/perfcounter.asp</a><br />
<a href="http://channel9.msdn.com/wiki/default.aspx/PerformanceWiki.HowToTuneNETFramework">http://channel9.msdn.com/wiki/default.aspx/PerformanceWiki.HowToTuneNETFramework</a><br />
<a href="http://msdn2.microsoft.com/en-us/library/ms998579.aspx">http://msdn2.microsoft.com/en-us/library/ms998579.aspx</a></p>
<hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/definindo-requisito-nao-funcional-de-performance/" rel="bookmark" title="Permanent Link: Definindo Requisito-Não Funcional de Performance">Definindo Requisito-Não Funcional de Performance</a></li><li><a href="http://www.zezologs.org/blog/server-gc-x-workstation-gc/" rel="bookmark" title="Permanent Link: Server GC x Workstation GC">Server GC x Workstation GC</a></li><li><a href="http://www.zezologs.org/blog/dicas-firebug-e-yslow/" rel="bookmark" title="Permanent Link: Dicas: Firebug e YSlow">Dicas: Firebug e YSlow</a></li><li><a href="http://www.zezologs.org/blog/testlink-exportao-de-casos-de-teste/" rel="bookmark" title="Permanent Link: Testlink: Exporta&ccedil;&atilde;o de Casos de Teste">Testlink: Exporta&ccedil;&atilde;o de Casos de Teste</a></li><li><a href="http://www.zezologs.org/blog/testes-unitrios-com-componente-do-net/" rel="bookmark" title="Permanent Link: Testes Unit&aacute;rios com componente do .NET">Testes Unit&aacute;rios com componente do .NET</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> <p>O próprio windows vem com uma ferramenta para indentificar gargalos em .net, o nome desta ferramenta é &#8220;Performance&#8221; <img src='http://www.zezologs.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8230;fica em: Painel de Controle &#8211; Ferramentas Administrativas &#8211; Performance.</p>
<p>Nao sei se muitos usam essa ferramenta, eu já usei anteriormente mas nunca notei que ele tinha contadores de performance para .NET</p>
<p>Alguns artigos indicam o uso desta ferramenta para identificar gargalos em aplicações .NET para então com uso de outras ferramentas (profillers) atacar a causa raiz.(Em um futuro momento farei algumas apresentações de profilers que uso e usei)</p>
<p></p>
<p>Os contadores para estas analises são:</p>
<p>Memory Process\Private Bytes<br />
.NET CLR Memory\% Time in GC<br />
.NET CLR Memory\# Bytes in all Heaps<br />
.NET CLR Memory\# Gen 0 Collections<br />
.NET CLR Memory\# Gen 1 Collections<br />
.NET CLR Memory\# Gen 2 Collections<br />
.NET CLR Memory\# of Pinned Objects<br />
.NET CLR Memory\Large Object Heap size<br />
Working Set Process\Working Set</p>
<p>Exceptions<br />
.NET CLR Exceptions\# of Exceps Thrown /sec</p>
<p>Contention<br />
.NET CLR LocksAndThreads\Contention Rate / sec<br />
.NET CLR LocksAndThreads\Current Queue Length</p>
<p>Threading<br />
.NET CLR LocksAndThreads\# of current physical Threads<br />
Thread\% Processor Time<br />
Thread\Context Switches/sec<br />
Thread\Thread State</p>
<p>Code Access Security<br />
.NET CLR Security\Total Runtime Checks<br />
.NET CLR Security\Stack Walk Depth</p>
<p>Fontes:<br />
<a href="http://www.codeproject.com/dotnet/perfcounter.asp">http://www.codeproject.com/dotnet/perfcounter.asp</a><br />
<a href="http://channel9.msdn.com/wiki/default.aspx/PerformanceWiki.HowToTuneNETFramework">http://channel9.msdn.com/wiki/default.aspx/PerformanceWiki.HowToTuneNETFramework</a><br />
<a href="http://msdn2.microsoft.com/en-us/library/ms998579.aspx">http://msdn2.microsoft.com/en-us/library/ms998579.aspx</a></p>
<hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/definindo-requisito-nao-funcional-de-performance/" rel="bookmark" title="Permanent Link: Definindo Requisito-Não Funcional de Performance">Definindo Requisito-Não Funcional de Performance</a></li><li><a href="http://www.zezologs.org/blog/server-gc-x-workstation-gc/" rel="bookmark" title="Permanent Link: Server GC x Workstation GC">Server GC x Workstation GC</a></li><li><a href="http://www.zezologs.org/blog/dicas-firebug-e-yslow/" rel="bookmark" title="Permanent Link: Dicas: Firebug e YSlow">Dicas: Firebug e YSlow</a></li><li><a href="http://www.zezologs.org/blog/testlink-exportao-de-casos-de-teste/" rel="bookmark" title="Permanent Link: Testlink: Exporta&ccedil;&atilde;o de Casos de Teste">Testlink: Exporta&ccedil;&atilde;o de Casos de Teste</a></li><li><a href="http://www.zezologs.org/blog/testes-unitrios-com-componente-do-net/" rel="bookmark" title="Permanent Link: Testes Unit&aacute;rios com componente do .NET">Testes Unit&aacute;rios com componente do .NET</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">WordPress 
    </a> </font> ]]></description>
		<wfw:commentRss>http://www.zezologs.org/blog/identificando-gargalos-em-net-com-contadores-de-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

