<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Apache Update</title>
	<atom:link href="http://changelog.complete.org/archives/1200-apache-update/feed" rel="self" type="application/rss+xml" />
	<link>http://changelog.complete.org/archives/1200-apache-update</link>
	<description>Viewpoints on technology, society, and government</description>
	<lastBuildDate>Sun, 05 Feb 2012 03:11:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Rodrigo Rosenfeld Rosas</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4758</link>
		<dc:creator>Rodrigo Rosenfeld Rosas</dc:creator>
		<pubDate>Fri, 30 Oct 2009 00:01:58 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4758</guid>
		<description>You could also try JRuby or Ruby 1.9 in the hope that they would reduce rails memory usage by using Java threads or native threads, respectively. JRuby uses a higher footprint but it will probably not increase very much the memory usage with more http requests... I&#039;ve not tested both of them, but I really don&#039;t have any problems with memory at my work...Give it a try.</description>
		<content:encoded><![CDATA[<p>You could also try JRuby or Ruby 1.9 in the hope that they would reduce rails memory usage by using Java threads or native threads, respectively. JRuby uses a higher footprint but it will probably not increase very much the memory usage with more http requests&#8230; I&#8217;ve not tested both of them, but I really don&#8217;t have any problems with memory at my work&#8230;Give it a try.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken Bloom</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4757</link>
		<dc:creator>Ken Bloom</dc:creator>
		<pubDate>Thu, 29 Oct 2009 15:43:49 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4757</guid>
		<description>If Redmine (i.e. Rails) forks a couple of processes to get its work done, then theoretically most of the rails code that the two processes share in common should be on copy-on-write pages. In practice, what happens is that the mark-and-sweep garbage collector marks all of the shared pages causing them to be different and unshared. Ruby enterprise edition refactors the garbage collector so that the marking done by the garbage collector is done on a few pages separate from the rest of the heap. That way all of the shared Rails code, which isn&#039;t going to change and isn&#039;t going to get garbage collected stays shared between the two processes.

(If you launch the two Redmine processes separately, then you&#039;re SOL, but I doubt that&#039;s why you have two Redmine processes running.)</description>
		<content:encoded><![CDATA[<p>If Redmine (i.e. Rails) forks a couple of processes to get its work done, then theoretically most of the rails code that the two processes share in common should be on copy-on-write pages. In practice, what happens is that the mark-and-sweep garbage collector marks all of the shared pages causing them to be different and unshared. Ruby enterprise edition refactors the garbage collector so that the marking done by the garbage collector is done on a few pages separate from the rest of the heap. That way all of the shared Rails code, which isn&#8217;t going to change and isn&#8217;t going to get garbage collected stays shared between the two processes.</p>
<p>(If you launch the two Redmine processes separately, then you&#8217;re SOL, but I doubt that&#8217;s why you have two Redmine processes running.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken Bloom</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4756</link>
		<dc:creator>Ken Bloom</dc:creator>
		<pubDate>Thu, 29 Oct 2009 15:39:17 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4756</guid>
		<description>pss (proportional set size, where each page&#039;s size is divided by the number of processes that share that page) from /proc/$PID/smaps is probably a better metric
summing up the others, such as Shared_Clean, Shared_Dirty, Private_Clean, and Private_Dirty can also give you a good idea of the process&#039;s memory usage.</description>
		<content:encoded><![CDATA[<p>pss (proportional set size, where each page&#8217;s size is divided by the number of processes that share that page) from /proc/$PID/smaps is probably a better metric<br />
summing up the others, such as Shared_Clean, Shared_Dirty, Private_Clean, and Private_Dirty can also give you a good idea of the process&#8217;s memory usage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Goerzen</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4755</link>
		<dc:creator>John Goerzen</dc:creator>
		<pubDate>Thu, 29 Oct 2009 13:31:27 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4755</guid>
		<description>I was referring to varnish, which is a caching reverse proxy.</description>
		<content:encoded><![CDATA[<p>I was referring to varnish, which is a caching reverse proxy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gregf</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4754</link>
		<dc:creator>gregf</dc:creator>
		<pubDate>Thu, 29 Oct 2009 12:40:13 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4754</guid>
		<description>Would suggestion looking into running your rails apps with ruby enterprise edition, as well as mod_rack aka mod_rails. Have done the same thing on my slice, switching to the event mpm. Would also consider running apache on another port with nginx in front or even lighttpd to cache/load static files. Less apache has to spin up processes the more your going to save in the long run.</description>
		<content:encoded><![CDATA[<p>Would suggestion looking into running your rails apps with ruby enterprise edition, as well as mod_rack aka mod_rails. Have done the same thing on my slice, switching to the event mpm. Would also consider running apache on another port with nginx in front or even lighttpd to cache/load static files. Less apache has to spin up processes the more your going to save in the long run.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Goerzen</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4753</link>
		<dc:creator>John Goerzen</dc:creator>
		<pubDate>Thu, 29 Oct 2009 12:39:03 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4753</guid>
		<description>There was very little shared between the processes -- only a few MB.  What metric would you suggest though?</description>
		<content:encoded><![CDATA[<p>There was very little shared between the processes &#8212; only a few MB.  What metric would you suggest though?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Skutt</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4752</link>
		<dc:creator>Adam Skutt</dc:creator>
		<pubDate>Thu, 29 Oct 2009 10:51:13 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4752</guid>
		<description>You do know that using RSS as a measure of memory efficiency is rather useless, right?  That the Apache processes may be sharing 20-30M of resident pages, all of which will still appear in RSS?

As such, if it was a lack of memory that was tipping you before, it will still probably tip you now.</description>
		<content:encoded><![CDATA[<p>You do know that using RSS as a measure of memory efficiency is rather useless, right?  That the Apache processes may be sharing 20-30M of resident pages, all of which will still appear in RSS?</p>
<p>As such, if it was a lack of memory that was tipping you before, it will still probably tip you now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Rosenfeld Rosas</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4751</link>
		<dc:creator>Rodrigo Rosenfeld Rosas</dc:creator>
		<pubDate>Thu, 29 Oct 2009 10:18:00 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4751</guid>
		<description>Before blaming Rails, I would suggest you to read a bit about deployment with Ruby on Rails.

I&#039;m currently using Redmine with apache + passenger, in a virtual machine with 256MB and we&#039;re good. I just set  Apache and Passenger to use only 2 instances, which works perfectly for us.

If you would like to reduce your memory footprint perRedmine instance, you could use ruby-enterprise that would save you about 33% of memory per instance...

We are currently using MPM-worker, but I didn&#039;t try the MPM-event.

You could possible get a smaller footprint than 50MB (or even 33% less) with other languages (Perl, PHP, Python) but there would be trade-offs.

Rails allows the developer to focus on system logic, instead of boiler plate code. This helps to get a cleaner and tested code and that is one reason why Redmine is awsome.

But RAM is really cheap nowadays and I wouldn&#039;t care about 10 instances of Redmine in a cluster using less than 500MB, if you are expecting that much traffic...</description>
		<content:encoded><![CDATA[<p>Before blaming Rails, I would suggest you to read a bit about deployment with Ruby on Rails.</p>
<p>I&#8217;m currently using Redmine with apache + passenger, in a virtual machine with 256MB and we&#8217;re good. I just set  Apache and Passenger to use only 2 instances, which works perfectly for us.</p>
<p>If you would like to reduce your memory footprint perRedmine instance, you could use ruby-enterprise that would save you about 33% of memory per instance&#8230;</p>
<p>We are currently using MPM-worker, but I didn&#8217;t try the MPM-event.</p>
<p>You could possible get a smaller footprint than 50MB (or even 33% less) with other languages (Perl, PHP, Python) but there would be trade-offs.</p>
<p>Rails allows the developer to focus on system logic, instead of boiler plate code. This helps to get a cleaner and tested code and that is one reason why Redmine is awsome.</p>
<p>But RAM is really cheap nowadays and I wouldn&#8217;t care about 10 instances of Redmine in a cluster using less than 500MB, if you are expecting that much traffic&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ramūnas</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4750</link>
		<dc:creator>Ramūnas</dc:creator>
		<pubDate>Thu, 29 Oct 2009 09:37:38 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4750</guid>
		<description>And there is also mod_cache.</description>
		<content:encoded><![CDATA[<p>And there is also mod_cache.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Harmen</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4749</link>
		<dc:creator>Harmen</dc:creator>
		<pubDate>Thu, 29 Oct 2009 08:49:28 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4749</guid>
		<description>The reverse proxy (like pound or nginx) is not a caching proxy! The name can be a little deceiving, but the only thing they do is managing requests and making sure the right httpd handles a request. They are not supposed to cache anything (well, they usually _can_, but it&#039;s not their reason of existence).</description>
		<content:encoded><![CDATA[<p>The reverse proxy (like pound or nginx) is not a caching proxy! The name can be a little deceiving, but the only thing they do is managing requests and making sure the right httpd handles a request. They are not supposed to cache anything (well, they usually _can_, but it&#8217;s not their reason of existence).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Tötterman</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4748</link>
		<dc:creator>Paul Tötterman</dc:creator>
		<pubDate>Thu, 29 Oct 2009 06:50:05 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4748</guid>
		<description>mod_rails works with apache too. It doesn&#039;t run rails processes when it doesn&#039;t have to.</description>
		<content:encoded><![CDATA[<p>mod_rails works with apache too. It doesn&#8217;t run rails processes when it doesn&#8217;t have to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4747</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Thu, 29 Oct 2009 03:18:20 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4747</guid>
		<description>Considered Varnish?</description>
		<content:encoded><![CDATA[<p>Considered Varnish?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: someone</title>
		<link>http://changelog.complete.org/archives/1200-apache-update/comment-page-1#comment-4746</link>
		<dc:creator>someone</dc:creator>
		<pubDate>Thu, 29 Oct 2009 03:15:09 +0000</pubDate>
		<guid isPermaLink="false">http://changelog.complete.org/?p=1200#comment-4746</guid>
		<description>Please file a bug on egroupware about that. Maybe someone will fix it if they adopt it. You might want to be that person, or make a QA upload.</description>
		<content:encoded><![CDATA[<p>Please file a bug on egroupware about that. Maybe someone will fix it if they adopt it. You might want to be that person, or make a QA upload.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

