<?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>nuxlli &#187; Passenger</title>
	<atom:link href="http://www.nuxlli.com.br/category/passenger/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nuxlli.com.br</link>
	<description>um pluguinho</description>
	<lastBuildDate>Thu, 22 Apr 2010 02:35:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Passenger versos Thin</title>
		<link>http://www.nuxlli.com.br/2008/06/09/passenger-versos-thin/</link>
		<comments>http://www.nuxlli.com.br/2008/06/09/passenger-versos-thin/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 00:46:49 +0000</pubDate>
		<dc:creator>Everton Ribeiro</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Passenger]]></category>
		<category><![CDATA[Ruby/Rails]]></category>
		<category><![CDATA[akita]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[thin]]></category>

		<guid isPermaLink="false">http://www.nuxlli.com.br/?p=50</guid>
		<description><![CDATA[Depois ler sobre o Passenger varias vezes no site do Akita, e utilizar ele na minha maquina para o desenvolvimento da aplicação de e-commerce, resolvi fazer alguns benchmarks e vê como ele se saia comparado ao thin. Os testes a seguir foram executados com a aplicação em environment production, eles caem consideravelmente quando em development: <a href="http://www.nuxlli.com.br/2008/06/09/passenger-versos-thin/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Depois ler sobre o <a href="http://www.modrails.com">Passenger</a> varias vezes no site do <a href="http://www.akitaonrails.com">Akita</a>, e utilizar ele na minha maquina para o desenvolvimento da aplicação de e-commerce, resolvi fazer alguns benchmarks e vê como ele se saia comparado ao <a href="http://code.macournoyer.com/thin">thin</a>.</p>
<p>Os testes a seguir foram executados com a aplicação em environment production, eles caem consideravelmente quando em development:</p>
<p>No / do site:</p>
<p>Thin (MRI) &#8211; Produção: 3.68 [#/sec] (mean)<br />
Thin (Ruby Enterprise): 6.72 [#/sec] (mean)<br />
Passenger (Ruby Enterprise): 2.64 [#/sec] (mean)</p>
<p>Em uma página secundaria de produto:</p>
<p>Thin (MRI): 19.11 [#/sec] (mean)<br />
Thin (Ruby Enterprise): 36.49 [#/sec] (mean)<br />
Passenger (Ruby Enterprise) : 5.53 [#/sec] (mean)</p>
<p>Com esses testes descobri algumas coisas:</p>
<ol>
<li>Que minha aplicação esta incrivelmente lenta, 6.77 (o melhor resultado) é inaceitável, preciso melhorar muita coisa para chegar onde preciso.</li>
<li>O Passenger, pelo menos por hora, só compensa no ambiente de desenvolvimento, pois evita ter que ficar levantando processo para testar as aplicações. obs: isto é para a minha aplicação, para sua pode ser completamente diferente.</li>
<li>Vou trocar o ruby do servidor de produção pela versão &#8220;Enterprise&#8221;, os resultados são sem duvida motivadores, a diferença no caso da página de produtos foi gritante.</li>
</ol>
<p>O resultado não quer dizer absolutamente nada sobre o Passenger, se é ou não mais rápido para todos os casos, isto pode, e vai variar muito de aplicação para aplicação, principalmente no meu caso onde a aplicação ainda não passou por nenhum refatoramento nem um analise profunda de performance.</p>
<p>Além dos testes com a página inicial e com a página de produto, fiz um teste com arquivo estático, uma imagem para ser mais preciso, e deixo um aviso os mais eufóricos, o Passenger, sem a correta configuração pode ser um problema com os arquivos estáticos. A questão esta no fato de que apenas a configuração básica da aplicação no apache faz com que o arquivos estáticos sejam servidos através do ruby o que da um perda de desempenho em responder a esse tipo de arquivo violenta, o certo e fazer como é descrito na tópico 5.3.3 do manual do Passenger.</p>
<p>Pelo menos no meu caso a melhor maneira de servir arquivos estáticos tem sido a configuração do Apache para não passar a requisição das pastas estáticas para os cluster thin. Usando a opção &#8220;ProxyPass /images !&#8221; o Apache não envia a requisição dos arquivos no caminho /images para o cluster, o que evita processamento dos arquivos pelo ruby.</p>
<p>Meu grande problema agora vai ser refatorar aplicação, fiquei decepcionado em saber que do jeito que esta, estou com uma média de 3.68 [#/sec], isso é muito baixo, e depois do lançamento oficial dos sites pode ser um grande problema <img src='http://www.nuxlli.com.br/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.nuxlli.com.br/2008/06/09/passenger-versos-thin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
