<?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>GimmeSoda &#187; Software</title>
	<atom:link href="http://www.gimmesoda.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gimmesoda.com</link>
	<description>The Blog of a Programmer</description>
	<lastBuildDate>Sun, 29 Jan 2012 10:26:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PHP-FPM ondemand!</title>
		<link>http://www.gimmesoda.com/php-fpm-ondemand/</link>
		<comments>http://www.gimmesoda.com/php-fpm-ondemand/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 10:23:12 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=646</guid>
		<description><![CDATA[PHP 5.3.9 came out on Jan 10th and reading over the changelog I geeked out.
http://php.net/ChangeLog-5.php#5.3.9
Specifically because of this line item:
Implemented FR #52569 (Add the &#8220;ondemand&#8221; process-manager to allow zero children).
Go check out that bug and the related patch. It&#8217;s going to be  [...]]]></description>
			<content:encoded><![CDATA[<p>PHP 5.3.9 came out on Jan 10th and reading over the changelog I geeked out.</p>
<p><a href="http://php.net/ChangeLog-5.php#5.3.9">http://php.net/ChangeLog-5.php#5.3.9</a></p>
<p>Specifically because of this line item:</p>
<p>Implemented FR <a href="http://bugs.php.net/52569">#52569</a> (Add the &#8220;ondemand&#8221; process-manager to allow zero children).</p>
<p>Go check out that bug and the related patch. It&#8217;s going to be amazing to see shared hosting services take advantage of PHP-FPM with the ondemand process manager option. In the past, when you started PHP w/FPM, you had two options dynamic or static, both of which created a pool of php processes at startup. Using ondemand allows for the php children processes to get started when there is a request that needs to be handled.</p>
<p>I just switched my server over to a custom php install using this feature, here was my memory usage before enabling it:</p>
<pre>free -m
             total       used       free     shared    buffers     cached
Mem:          1358       1242        115          0          0        342
-/+ buffers/cache:        900        457
Swap:            0          0          0</pre>
<p>Immediately after implementation this is my memory usage:</p>
<pre>free -m
             total       used       free     shared    buffers     cached
Mem:          1708        518       1189          0          0        491
-/+ buffers/cache:         26       1681
Swap:            0          0          0</pre>
<p>I should note that my <a title="JJ’s VPS Memory Manager v1.1 – Released" href="http://www.gimmesoda.com/jjs-vps-memory-manager-v1-1-released/">memory manager</a> increased the available memory on my machine while it was compiling PHP.</p>
<p>Amazing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/php-fpm-ondemand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory Manager v1.1 is Coming Soon</title>
		<link>http://www.gimmesoda.com/memory-manager-v1-1-is-coming-soon/</link>
		<comments>http://www.gimmesoda.com/memory-manager-v1-1-is-coming-soon/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 02:03:11 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[DreamHost]]></category>
		<category><![CDATA[JJ's DreamHost VPS Memory Manager]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=630</guid>
		<description><![CDATA[First off, thanks to everyone who has been actively testing and using this application and contacting me with feature requests and questions. The latest version of the memory manager (v1.1) will be coming out soon and with it will come, what I consider to be, an essential feature. With every resize  [...]]]></description>
			<content:encoded><![CDATA[<p>First off, thanks to everyone who has been actively testing and using this application and contacting me with feature requests and questions. The latest version of the memory manager (v1.1) will be coming out soon and with it will come, what I consider to be, an essential feature. With every resize there will be a dump of all running processes sorted by memory usage.</p>
<p>What does that mean to you?</p>
<p>Chances are you&#8217;re using this memory manager to help figure out where your memory is going and keep your services up and running. Having a snapshot of your processes, taken when the script sees the need for a resize, will tell you where your memory is actually being used. Very soon you&#8217;ll be able to review your logs and click on the &#8220;process log&#8221; link. I&#8217;ll be posting an update to the news you see within the memory manager when the newest version is ready.</p>
<p style="text-align: center;"><a href="http://www.gimmesoda.com/wp-content/uploads/2011/12/Screen-shot-2011-12-08-at-5.57.27-PM.png"><img class="aligncenter size-full wp-image-631" title="Screen shot 2011-12-08 at 5.57.27 PM" src="http://www.gimmesoda.com/wp-content/uploads/2011/12/Screen-shot-2011-12-08-at-5.57.27-PM.png" alt="" width="598" height="65" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/memory-manager-v1-1-is-coming-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another Magento Installer Update!</title>
		<link>http://www.gimmesoda.com/another-magento-installer-update/</link>
		<comments>http://www.gimmesoda.com/another-magento-installer-update/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 02:21:26 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[Linux Command Line]]></category>
		<category><![CDATA[Magento Commerce]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=576</guid>
		<description><![CDATA[It took me long enough but I finally updated the Magento installer to handle the newest stable version of Magento. Check out the updated post here.
Magento 1.5.0.1 Installer
]]></description>
			<content:encoded><![CDATA[<p>It took me long enough but I finally updated the Magento installer to handle the newest stable version of Magento. Check out the updated post here.</p>
<p><a href="http://www.gimmesoda.com/installing-magento-commerce-on-dreamhost/">Magento 1.5.0.1 Installer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/another-magento-installer-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on VPS Memory Management</title>
		<link>http://www.gimmesoda.com/thoughts-on-vps-memory-management/</link>
		<comments>http://www.gimmesoda.com/thoughts-on-vps-memory-management/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 23:13:16 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DreamHost]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[JJ's DreamHost VPS Memory Manager]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=561</guid>
		<description><![CDATA[Recently, I have been spending a significant amount of time working on an application which manages the amount of memory assigned to a DreamHost Web VPS. During the time I&#8217;ve spent developing this several choices had to be made in what the real goal of the application had to be. When it comes to  [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I have been spending a significant amount of time working on an application which manages the amount of memory assigned to a DreamHost Web VPS. During the time I&#8217;ve spent developing this several choices had to be made in what the real goal of the application had to be. When it comes to memory management on a server there are really two goals which don&#8217;t always play well together.</p>
<h2>Goal One: Save Money</h2>
<p>Many people seem to have a belief that just because the site/s are on a VPS, even with memory set as low as possible (300MB of RAM assigned to a machine in the case of a DreamHost VPS), they will have perfect or near perfect uptime. Sadly, this is not the case and often times this misunderstanding/confusion can lead to serious downtime and frustration. Ideally, for people who are trying to have the lowest amount of memory usage possible, a memory management application would realize that there is a need for more memory, calculate an estimated amount of memory needed to handle the increased usage, resize the VPS as closely as possible to that need, then downsize as soon as the memory is no longer needed.</p>
<p>There is one major issue with this scenario:</p>
<p>Creating estimates regarding the amount of memory needed in an environment where usage is constantly changing, is a massive challenge. To be more specific; since the ability to resize a VPS tends to take some time (anywhere from 1-5 minutes), it is possible for memory requirements to have increased during the time that the need was detected and the memory estimate was created. This could create a resize on a VPS with too little memory, causing problems for the website/s on the VPS, as the machine is given too little memory to handle the increased need.</p>
<h2>Goal Two: Keep Services Running</h2>
<p>If you are on a VPS, chances are you&#8217;ve outgrown shared hosting or are looking for more stability and control over the environment your applications run on. If you&#8217;ve got a decent understanding of servers, applications, and websites, you may also understand that you need to have enough memory to run all the processes and handle the requests to your sites. Often times simply setting your service to the lowest amount of memory possible is going to be asking for failed script executions and the dreaded 500 error being displayed on your site.</p>
<p>So with this understanding, some people go to the extreme and max out their VPS resources. At DreamHost that means $200 a month for services (4GB worth of RAM) which may not be fully utilized (and most likely are not). So the question here becomes how to balance cost and the need for memory, in order to keep services running without paying the maximum amount at all times.</p>
<h2>A Hybrid Memory Manager Focused on Uptime</h2>
<p>With these two potential goals in mind, I had decided to mainly focus my attentions on goal two. While I do understand the need to keep price as low as possible, it is my personal belief, gleaned from experience, that a downed website is more damaging to the bottom line than a slightly larger payment for hosting services. So with this in mind, the memory manager was created to focus on uptime, while still saving time and money for those who manually resize throughout the day, and potentially over-allocate memory for their site/s.</p>
<p>All this being said, I am quite excited to be releasing this software soon. The status of this release is currently closed beta. However, if you are interested in testing this on your DreamHost VPS, please contact me. I am looking to increase the pool of Beta testers before the official release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/thoughts-on-vps-memory-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: JJ&#8217;s VPS Memory Manager, Closed Beta</title>
		<link>http://www.gimmesoda.com/jjs-vps-memory-manager-closed-beta/</link>
		<comments>http://www.gimmesoda.com/jjs-vps-memory-manager-closed-beta/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 21:40:21 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[DreamHost]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[JJ's DreamHost VPS Memory Manager]]></category>
		<category><![CDATA[JuanJose Galvez]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=558</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://www.gimmesoda.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-558">Password:<br />
<input name="post_password" id="pwbox-558" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/jjs-vps-memory-manager-closed-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A DreamHost VPS Memory Manager &#8211; Coming Soon</title>
		<link>http://www.gimmesoda.com/a-dreamhost-vps-memory-manager-coming-soon/</link>
		<comments>http://www.gimmesoda.com/a-dreamhost-vps-memory-manager-coming-soon/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 12:09:22 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DreamHost]]></category>
		<category><![CDATA[JJ's DreamHost VPS Memory Manager]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=545</guid>
		<description><![CDATA[I&#8217;ve been working on this for awhile now and it&#8217;s almost ready! I&#8217;m just working out a better set of rules for figuring out what amount to resize to and I&#8217;ll be releasing the first beta!

]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on this for awhile now and it&#8217;s almost ready! I&#8217;m just working out a better set of rules for figuring out what amount to resize to and I&#8217;ll be releasing the first beta!</p>
<p><a href="http://www.gimmesoda.com/wp-content/uploads/2011/02/JJsVPSMemoryManager.png"><img class="aligncenter size-large wp-image-546" title="JJsVPSMemoryManager" src="http://www.gimmesoda.com/wp-content/uploads/2011/02/JJsVPSMemoryManager-1024x874.png" alt="" width="1024" height="874" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/a-dreamhost-vps-memory-manager-coming-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Fix for Missing PATH_INFO</title>
		<link>http://www.gimmesoda.com/code-fix-for-missing-path_info/</link>
		<comments>http://www.gimmesoda.com/code-fix-for-missing-path_info/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 03:57:53 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Concrete5]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Randomness]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=539</guid>
		<description><![CDATA[Many applications seem to be using the $_SERVER['PATH_INFO'] and related variables in their router section of code to figure out what information or page is being requested without having to write rewrite_rules for each possible request. It&#8217;s smart really! What about the web hosts that aren&#8217;t  [...]]]></description>
			<content:encoded><![CDATA[<p>Many applications seem to be using the $_SERVER['PATH_INFO'] and related variables in their router section of code to figure out what information or page is being requested without having to write rewrite_rules for each possible request. It&#8217;s smart really! What about the web hosts that aren&#8217;t setting this information due to whatever reason?</p>
<p>While there are ways to getting this fixed on the server side, where I do agree it should be fixed, an application should be able to handle running in as many possible environments as possible. With that in mind I&#8217;ve found a way to &#8216;fake&#8217; the information in PATH_INFO when it isn&#8217;t being set through the use of the argv array.</p>
<p><code>$path = (substr($_SERVER[argv][0], 0, 1) == "/") ? $_SERVER['argv'][0] : false;</code></p>
<p>This has been useful in my <a href="http://www.gimmesoda.com/pretty-urls-with-concrete5-on-dreamhost/">current patch for Concrete5</a> and should be useful for any app that depends on PATH_INFO.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/code-fix-for-missing-path_info/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pretty URL&#8217;s with Concrete5 on DreamHost</title>
		<link>http://www.gimmesoda.com/pretty-urls-with-concrete5-on-dreamhost/</link>
		<comments>http://www.gimmesoda.com/pretty-urls-with-concrete5-on-dreamhost/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 05:18:11 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[Concrete5]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=536</guid>
		<description><![CDATA[Update:
For those who are curious this patch was submitted to the developers and the still open bug report and fix can be found here:
http://www.concrete5.org/developers/bugs/5-4-1-1/pretty-urland039s-with-fastcgi-and-404and039s/
I&#8217;ll be getting this to the developers soon but for anyone using  [...]]]></description>
			<content:encoded><![CDATA[<p>Update:</p>
<p>For those who are curious this patch was submitted to the developers and the still open bug report and fix can be found here:</p>
<p><a href="http://www.concrete5.org/developers/bugs/5-4-1-1/pretty-urland039s-with-fastcgi-and-404and039s/">http://www.concrete5.org/developers/bugs/5-4-1-1/pretty-urland039s-with-fastcgi-and-404and039s/</a></p>
<p>I&#8217;ll be getting this to the developers soon but for anyone using Concrete5 on DreamHost and having trouble with enabling pretty url&#8217;s apply the following patch and make sure you check the .htaccess &#8211; it should have a ? before the /$1</p>
<p>The patch also includes an update to the controller which tells you what to put in your .htaccess.</p>
<p><a href="http://files.gimmesoda.com/dreamhost/software_patches/concrete5/request_patch/dh_request.patch">http://files.gimmesoda.com/dreamhost/software_patches/concrete5/request_patch/dh_request.patch</a></p>
<p>Which means you can do the following from the directory that holds the concrete5 files:</p>
<p>wget http://files.gimmesoda.com/dreamhost/software_patches/concrete5/request_patch/dh_request.patch;<br />
patch -p0 < dh_request.patch;</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/pretty-urls-with-concrete5-on-dreamhost/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FLV Streaming Through Nginx Using JW FLV Player</title>
		<link>http://www.gimmesoda.com/flv-streaming-through-nginx-using-jw-flv-player/</link>
		<comments>http://www.gimmesoda.com/flv-streaming-through-nginx-using-jw-flv-player/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 09:13:58 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=526</guid>
		<description><![CDATA[I&#8217;m quite happy to report that the Nginx flv streaming module is part of the default Nginx setup on a DreamHost VPS. I finally took some time (much less then I thought it would be) to modify one of my old pseudo-streaming php scripts with a drop in replacement (3 lines of code) that basically just  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m quite happy to report that the <a href="http://wiki.nginx.org/NginxHttpFlvStreamModule" target="_blank">Nginx flv streaming module</a> is part of the default Nginx setup on a DreamHost VPS. I finally took some time (much less then I thought it would be) to modify one of my old pseudo-streaming php scripts with a drop in replacement (3 lines of code) that basically just handles a redirect and uses the flv streaming module instead. You can grab a copy over here:</p>
<p><a href="http://files.gimmesoda.com/dreamhost/nginx/nginx_stream.php">http://files.gimmesoda.com/dreamhost/nginx/nginx_stream.php</a></p>
<p>I use this particular script in conjunction with the rather popular JW Player:</p>
<p><a href="http://www.longtailvideo.com/players/jw-flv-player/">http://www.longtailvideo.com/players/jw-flv-player/</a></p>
<p>However, at this point it looks like the newest versions of their player no longer recommends the use of streaming through a script and provides this functionality directly. This script is more for people like myself who don&#8217;t feel like upgrading to their branded versions of the player. The plugin functionality sure does tempt me but at a price of $89 for a video player to be used on a single site, I think I&#8217;ll stick to my current version, at least for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/flv-streaming-through-nginx-using-jw-flv-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GimmeSoda.com Server Move: XCache, W3-Total-Cache and Nginx = Awesome</title>
		<link>http://www.gimmesoda.com/gimmesoda-com-server-move-xcache-w3-total-cache-and-nginx-awesome/</link>
		<comments>http://www.gimmesoda.com/gimmesoda-com-server-move-xcache-w3-total-cache-and-nginx-awesome/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 09:34:50 +0000</pubDate>
		<dc:creator>JuanJose</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[The Blog]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://www.gimmesoda.com/?p=511</guid>
		<description><![CDATA[I&#8217;ve moved this site (gimmesoda.com) over to a test server (Private Server) I&#8217;ve got running on DreamHost. This server is running Nginx instead of Apache, both machines (the PS it was running on before, and the PS it is now running on) are set to 2GB of memory and the software setup of WordPress is  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve moved this site (gimmesoda.com) over to a test server (Private Server) I&#8217;ve got running on DreamHost. This server is running Nginx instead of Apache, both machines (the PS it was running on before, and the PS it is now running on) are set to 2GB of memory and the software setup of WordPress is exactly the same.</p>
<h2>Why:</h2>
<p>Apache can be a memory hog.</p>
<p>As more and more traffic comes into a website the Apache process continues to spawn memory hogging worker processes and during my basic testing I saw over 90 apache worker processes spawned at one time. Each of those processes were taking about 23MB worth of memory when spawned (23 x 90 = 2070MB) which maxed out the $100/month PS machine and returned several hundred errors at 100 concurrent connections.</p>
<p>Nginx handles concurrency much better and requires far less memory.</p>
<p>When the site was moved over to Nginx I ran the same test (1000 requests with 100 concurrency) and memory usage was under 800MB, it also returned 0 errors compared to the 664 from the use of Apache. Also, you should take note of the speed between the two in the results below, Nginx returned all requests in under 1s.</p>
<h2>WordPress Cache Settings:</h2>
<p>I&#8217;ve switched off the use of WP-SuperCache, which uses disk based caching and provides no further options such as opcode caching (APC/XCache/eAccelerator) which W3-Total-Cache does provide! Not only does it provide a static page cache as well as opcode options but it incorporates minify options, database, and object caching among other features.</p>
<p>All cache options have been set to XCache rather then disk, after all reading from memory is faster then reading from disk.</p>
<h2>The Setup:</h2>
<ul>
<li>WordPress v3.0.1
<ul>
<li>Theme
<ul>
<li>I am using the Mystique theme, which thankfully does NOT use the timthumb.php script (I am NOT a fan of it).</li>
</ul>
<ul>
<li>Plugins
<ul>
<li>Akismet</li>
<li>All in One SEO Pack</li>
<li>Categories to Tags Converter Importer</li>
<li>Clean-Contact</li>
<li>Dragon Design Sitemap Generator</li>
<li>DreamHost WordPress Backup</li>
<li>FeedBurner FeedSmith</li>
<li>Google XML Sitemaps</li>
<li>Paypal Donate Plugin for WordPress Widget Support</li>
<li>Permalinks Moved Permanently</li>
<li>Piwiks Analytics</li>
<li>Twitter for WordPress</li>
<li>W3-Total-Cache</li>
<li>WordPress.com Stats</li>
<li>WordPress Importer</li>
<li>WP-FLV</li>
<li>WP-PayPalDonate</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>AB (ApacheBench) Results:</h2>
<table width="100%">
<tbody>
<tr>
<td width="50%">Apache Results</td>
<td width="50%">Nginx Results</td>
</tr>
<tr>
<td>
<pre>This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.gimmesoda.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:        Apache
Server Hostname:        www.gimmesoda.com
Server Port:            80

Document Path:          /
Document Length:        30876 bytes

Concurrency Level:      100
Time taken for tests:   6.912 seconds
Complete requests:      1000
Failed requests:        664
   (Connect: 0, Receive: 0, Length: 664, Exceptions: 0)
Write errors:           0
Non-2xx responses:      664
Total transferred:      10878952 bytes
HTML transferred:       10588808 bytes
Requests per second:    144.67 [#/sec] (mean)
Time per request:       691.234 [ms] (mean)
Time per request:       6.912 [ms] (mean, across all concurrent requests)
Transfer rate:          1536.96 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   15 164.4      7    3013
Processing:    24  511 782.2    190    4087
Waiting:       17  503 778.0    188    4074
Total:         46  526 792.6    196    4091

Percentage of the requests served within a certain time (ms)
  50%    196
  66%    266
  75%    499
  80%    744
  90%   2018
  95%   2703
  98%   2983
  99%   3060
 100%   4091 (longest request)</pre>
</td>
<td>
<pre>This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.gimmesoda.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests

Server Software:        nginx/0.7.65
Server Hostname:        www.gimmesoda.com
Server Port:            80

Document Path:          /
Document Length:        30874 bytes

Concurrency Level:      100
Time taken for tests:   3.158373 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      31348328 bytes
HTML transferred:       30961170 bytes
Requests per second:    316.62 [#/sec] (mean)
Time per request:       315.837 [ms] (mean)
Time per request:       3.158 [ms] (mean, across all concurrent requests)
Transfer rate:          9692.65 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   22  11.8     20      63
Processing:    36  184 108.6    144     874
Waiting:        8   34  24.6     26     279
Total:         37  206 111.5    166     913

Percentage of the requests served within a certain time (ms)
  50%    166
  66%    209
  75%    251
  80%    273
  90%    347
  95%    405
  98%    569
  99%    641
 100%    913 (longest request)</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="line-height: 28px; font-size: 26px;">More Information</span></p>
<p>Nginx: A web server written to address the C10K problem. <a href="http://wiki.nginx.org/Main">http://wiki.nginx.org/Main</a></p>
<p>XCache: A fast opcode cacher, it&#8217;s a PHP extension. <a href="http://xcache.lighttpd.net/">http://xcache.lighttpd.net/</a></p>
<p>W3-Total-Cache: A brilliant (and free) wordpress caching plugin that goes the extra mile. <a href="http://wordpress.org/extend/plugins/w3-total-cache/">http://wordpress.org/extend/plugins/w3-total-cache/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gimmesoda.com/gimmesoda-com-server-move-xcache-w3-total-cache-and-nginx-awesome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.gimmesoda.com @ 2012-02-04 21:05:26 -->
