<?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>Hungry Machine &#187; performance</title>
	<atom:link href="http://blog.hungrymachine.com/tag/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hungrymachine.com</link>
	<description>The guys behind LivingSocial</description>
	<lastBuildDate>Sun, 25 Oct 2009 15:08:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reviewing Application Health with HAProxy Stats</title>
		<link>http://blog.hungrymachine.com/2008/03/27/analyzing-application-performance-with-haproxy-stats/</link>
		<comments>http://blog.hungrymachine.com/2008/03/27/analyzing-application-performance-with-haproxy-stats/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 11:29:00 +0000</pubDate>
		<dc:creator>val</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[haproxy]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[stats]]></category>

		<guid isPermaLink="false">blog.hungrymachine.com/2008/06/05/analyzing-application-performance-with-haproxy-stats</guid>
		<description><![CDATA[
One of the methods we use for checking the health of our applications is stats collected from HAProxy. We utilize it to see how many requests are scheduled for execution on mongrel instances. The graph is one indication of how our applications perform. When we launched the new version of the site three weeks ago, [...]]]></description>
			<content:encoded><![CDATA[<div>
One of the methods we use for checking the health of <a href="http://www.livingsocial.com/">our applications</a> is stats collected from <a href="http://haproxy.1wt.eu/">HAProxy</a>. We utilize it to see how many requests are scheduled for execution on mongrel instances. The graph is one indication of how our applications perform. When we launched the new version of the site three weeks ago, the graph for a single vertical (ReadingSocial) on a typical Tuesday looked like this:
</div>
<div style="padding-top: 10px;">
<img src="http://blog.hungrymachine.com/assets/2008/3/27/old-hastats.jpg" width="100%" />
</div>
<div style="padding-top: 20px;">
So, between porting all verticals to Myspace, Orkut, Bebo, and enhancing the functionality, we spent some time on optimization. In addition to analyzing slow-query logs with <a href="http://hackmysql.com/mysqlsla">mysqlsla</a>, Aaron wrapped all external API calls (and we do a lot of them &#8211; to Amazon, Facebook, Myspace, etc) in slow monitoring so we could see where the latest external bottleneck was so we could fix it one by one. Three weeks later the graph became much more peaceful:
</div>
<div style="padding: 10px 0;">
<img src="http://blog.hungrymachine.com/assets/2008/3/27/new-hastats.jpg" width="100%" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hungrymachine.com/2008/03/27/analyzing-application-performance-with-haproxy-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JRuby trunk == better/faster Rails performance</title>
		<link>http://blog.hungrymachine.com/2007/11/03/jruby-looking-better-every-day/</link>
		<comments>http://blog.hungrymachine.com/2007/11/03/jruby-looking-better-every-day/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 21:56:00 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">blog.hungrymachine.com/2008/11/13/jruby-looking-better-every-day</guid>
		<description><![CDATA[So I remember a couple months ago playing with JRuby, and while fibonacci was super fast, Rails was way off..  ActiveRecord performance 6x-10x slower than MRI&#8230; 
Looks like its getting better. Disclaimer: These are really really simple non-scientific tests.
Local mysql database, MYISAM, table people, with 2 columns, (id, name). 100k rows


&#62; jruby -J-server -O [...]]]></description>
			<content:encoded><![CDATA[<p>So I remember a couple months ago playing with JRuby, and while fibonacci was super fast, Rails was way off..  ActiveRecord performance 6x-10x slower than MRI&#8230; </p>
<p>Looks like its getting better. Disclaimer: These are really really simple non-scientific tests.</p>
<p>Local mysql database, MYISAM, table people, with 2 columns, (id, name). 100k rows</p>
<div class="CodeRay">
<div class="code">
<pre>&gt; jruby -<span style="color:#036; font-weight:bold">J</span>-server -<span style="color:#036; font-weight:bold">O</span> script/console production
&gt;&gt; <span style="color:#036; font-weight:bold">Benchmark</span>.measure {<span style="color:#00D; font-weight:bold">10000</span>.times {<span style="color:#036; font-weight:bold">Person</span>.find <span style="color:#A60">:first</span>}}.total
=&gt; <span style="color:#60E; font-weight:bold">2.286</span></pre>
</div>
</div>
<div class="CodeRay">
<div class="code">
<pre>&gt; ./script/console production
&gt;&gt;  <span style="color:#036; font-weight:bold">Benchmark</span>.measure {<span style="color:#00D; font-weight:bold">10000</span>.times {<span style="color:#036; font-weight:bold">Person</span>.find <span style="color:#A60">:first</span>}}.total
=&gt; <span style="color:#60E; font-weight:bold">1.7</span></pre>
</div>
</div>
<div class="CodeRay">
<div class="code">
<pre><span style="color:#036; font-weight:bold">Mongrel</span>
&gt; ab -n <span style="color:#00D; font-weight:bold">1000</span> http<span style="color:#A60">:/</span>/localhost:<span style="color:#00D; font-weight:bold">3001</span>/people/<span style="color:#00D; font-weight:bold">1</span>
<span style="color:#036; font-weight:bold">Requests</span> per second:    <span style="color:#60E; font-weight:bold">95.02</span> [<span style="color:#888">#/sec] (mean)</span></pre>
</div>
</div>
<p>On Glassfish v3 with:  RAILS_ENV=production jruby -J-server -O -S glassfish_rails glass2, after a bit of warmup.</p>
<div class="CodeRay">
<div class="code">
<pre>&gt; ab -n <span style="color:#00D; font-weight:bold">1000</span> http<span style="color:#A60">:/</span>/localhost:<span style="color:#00D; font-weight:bold">8080</span>/glass2/people/<span style="color:#00D; font-weight:bold">1</span>
<span style="color:#036; font-weight:bold">Requests</span> per second:    <span style="color:#60E; font-weight:bold">48.25</span> [<span style="color:#888">#/sec] (mean)</span></pre>
</div>
</div>
<p>turning logging mostly off</p>
<div class="CodeRay">
<div class="code">
<pre>&gt; ab -n <span style="color:#00D; font-weight:bold">1000</span> http<span style="color:#A60">:/</span>/localhost:<span style="color:#00D; font-weight:bold">8080</span>/glass2/people/<span style="color:#00D; font-weight:bold">1</span>
<span style="color:#036; font-weight:bold">Requests</span> per second:    <span style="color:#60E; font-weight:bold">56.70</span> [<span style="color:#888">#/sec] (mean)</span></pre>
</div>
</div>
<p>All in all, thats impressive.  Congrats to Charles, Ola, and the whole JRuby crew.  I dont think i&#8217;ll be putting this in production yet, but I&#8217;m very interested to hear from others that have.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hungrymachine.com/2007/11/03/jruby-looking-better-every-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
