<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Barry on WordPress &#187; servers</title>
	<atom:link href="http://barry.wordpress.com/category/servers/feed/" rel="self" type="application/rss+xml" />
	<link>http://barry.wordpress.com</link>
	<description>Barry on WordPress.com</description>
	<lastBuildDate>Sat, 07 Nov 2009 16:35:52 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='barry.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/9d76a0bdad6065d9fe3b3f9a3454d05d?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Barry on WordPress &#187; servers</title>
		<link>http://barry.wordpress.com</link>
	</image>
			<item>
		<title>AMD Barcelona vs. Intel Nehalem</title>
		<link>http://barry.wordpress.com/2009/05/22/amd-barcelona-vs-intel-nehalem/</link>
		<comments>http://barry.wordpress.com/2009/05/22/amd-barcelona-vs-intel-nehalem/#comments</comments>
		<pubDate>Fri, 22 May 2009 04:25:20 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[servers]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[amd]]></category>
		<category><![CDATA[barcelona]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[nehalem]]></category>

		<guid isPermaLink="false">http://barry.wordpress.com/?p=344</guid>
		<description><![CDATA[We are looking at switching some of our servers from AMD Opteron Barcelona quad-core processors to the new Intel 5520 Nehalem processors.  These are both 4 core CPUs, but the Intels utilize hyper-threading, so the OS sees 8 cores per CPU.  It wasn&#8217;t that long ago that the first thing you did with a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=344&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>We are looking at switching some of our servers from AMD Opteron Barcelona quad-core processors to the new Intel 5520 Nehalem processors.  These are both 4 core CPUs, but the Intels utilize <a href="http://en.wikipedia.org/wiki/Hyper-threading">hyper-threading</a>, so the OS sees 8 cores per CPU.  It wasn&#8217;t that long ago that the first thing you did with a hyper-threading-enabled CPU was switch it off in the BIOS, but I have heard good things about Intel&#8217;s reincarnation of hyper-threading, so I decided to give it a shot.  </p>
<p>I ran some real-world stress tests against these servers, adding them into the WordPress.com web pool and seeing how many requests per second they could serve before becoming 100% CPU bound effectively falling over.  The types of requests served are varied; a lot are rendering web pages, but there are also quite a few image resizing operations thrown in here as well, as we spread this image work evenly over the 2500 cores in our web tier.  Everything is php executed via fastcgi.  I was a bit skeptical that there would be much of a difference between the two processors, but the numbers proved me wrong &#8212; the Nehalem&#8217;s are impressive.</p>
<p><strong>2 x AMD Opteron 2356 Barcelona Quad-core 2.3Ghz</strong><br />
<em> 40 requests/second at 87.5% CPU utilization</em></p>
<p><strong>2 x Intel 5520 Nehalem Quad-core 2.26Ghz</strong><br />
<em> 78 requests/second at 94% CPU utilization</em></p>
<p>Few things that I thought were interesting:</p>
<ul>
<li>On a per request basis, there isn&#8217;t much of a difference between the two.  They both generate a given page in roughly the same amount of time.</li>
<li>As CPU utilization approaches 100%, The Intel&#8217;s scale rather linearly, while the AMDs seem to struggle over the 85% range.</li>
<li>The load averages were pretty high during these tests (35+ on the Intel box), but request times didn&#8217;t seem to suffer.</li>
</ul>
<p>Has anyone else seen the same sort of results or maybe something to the contrary?   These 2 configurations are roughly the same price, making it seem like a no-brainer to choose the Intels for web applications.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/344/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=344&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2009/05/22/amd-barcelona-vs-intel-nehalem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>
	</item>
		<item>
		<title>New Datacenter for WordPress.com</title>
		<link>http://barry.wordpress.com/2009/02/16/new-datacenter-for-wordpresscom/</link>
		<comments>http://barry.wordpress.com/2009/02/16/new-datacenter-for-wordpresscom/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 07:23:37 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[servers]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">http://barry.wordpress.com/?p=260</guid>
		<description><![CDATA[Towards the end of 2008, we brought online a new datacenter to serve the over 5.5 million blogs now hosted on the WordPress.com platform.  Adding the data center in Chicago, IL gives us a total of 3 data centers across the US which serve live content at any given time.  We have decommissioned one of [...]<br /><a href='http://barry.wordpress.com/2009/02/16/new-datacenter-for-wordpresscom/'><img width='160' height='120' src='http://cdn.videos.wordpress.com/Ht3Acnqq/serverpr0n21.original.jpg' /> </a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=260&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Towards the end of 2008, we brought online a new datacenter to serve the over 5.5 million blogs now hosted on the WordPress.com platform.  Adding the data center in Chicago, IL gives us a total of 3 data centers across the US which serve live content at any given time.  We have decommissioned one of our facilities in the Dallas, TX area.  Our friends at <a href="http://www.layeredtech.com/">Layered Technologies</a> were kind enough to shoot this footage for us (think <a href="http://en.wikipedia.org/wiki/The_Blair_Witch_Project">The Blair Witch Project</a>) and the always awesome <a href="http://michaelpick.wordpress.com">Michael Pick</a> took care of the editing.  Here&#8217;s a peak at what a typical WordPress data center installation looks like&#8230;</p>
<ins style='text-decoration:none;'>
<div class='video-player' id='x-video-0'>
<embed id='video-0' src='http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.10' type='application/x-shockwave-flash' width='400' height='320' allowscriptaccess='always' allowfullscreen='true' flashvars='guid=Ht3Acnqq&javascriptid=video-0&width=400&height=320'></embed></div></ins>
<p>For those interested in technical details here is a hardware overview of the installation:</p>
<p>150 HP DL165s dual quad-core AMD 2354 processors 2GB-4GB RAM<br />
50 HP DL365s dual dual-core AMD 2218 processors 4GB-16GB RAM<br />
5 HP DL185s dual quad-core AMD 2354 processors 4GB RAM</p>
<p>And here is a graph of what the current CPU usage looks like across about 700 CPU cores.  As you can see there is plenty of idle CPU for those big <a href="http://barry.wordpress.com/2008/10/27/anatomy-of-a-dos-attack/">spikes</a> or in case one of the other 2 data centers fail and we have to route more traffic to this one.</p>
<p><img class="alignnone size-large wp-image-263" title="cpuusage-chicago" src="http://barry.files.wordpress.com/2009/02/cpuusage-chicago.png?w=450&#038;h=318" alt="cpuusage-chicago" width="450" height="318" /></p>
<br /><a href='http://barry.wordpress.com/2009/02/16/new-datacenter-for-wordpresscom/'><img width='160' height='120' src='http://cdn.videos.wordpress.com/Ht3Acnqq/serverpr0n21.original.jpg' /> </a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/260/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=260&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2009/02/16/new-datacenter-for-wordpresscom/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		<enclosure url="http://cdn.videos.wordpress.com/Ht3Acnqq/serverpr0n21.mp4" length="6113280" type="video/mp4" />

		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>

		<media:content url="http://barry.files.wordpress.com/2009/02/cpuusage-chicago.png?w=450" medium="image">
			<media:title type="html">cpuusage-chicago</media:title>
		</media:content>

		<media:group>
			<media:content url="http://cdn.videos.wordpress.com/Ht3Acnqq/serverpr0n21.mp4" fileSize="6113280" type="video/mp4" medium="video" isDefault="true" duration="60" width="400" height="320" />

			<media:content url="http://cdn.videos.wordpress.com/Ht3Acnqq/serverpr0n21_fmt1.ogv" fileSize="9984000" type="video/ogg" medium="video" isDefault="false" duration="60" width="400" height="320" />

			<media:rating scheme="urn:mpaa">g</media:rating>
			<media:title type="plain">serverpr0n21</media:title>
			<media:thumbnail url="http://cdn.videos.wordpress.com/Ht3Acnqq/serverpr0n21.original.jpg" width="256" height="204" />
			<media:player url="http://v.wordpress.com/Ht3Acnqq" width="400" height="300" />
		</media:group>
	</item>
		<item>
		<title>Redundancy and power outages</title>
		<link>http://barry.wordpress.com/2007/07/25/power-redundancy/</link>
		<comments>http://barry.wordpress.com/2007/07/25/power-redundancy/#comments</comments>
		<pubDate>Wed, 25 Jul 2007 00:44:15 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[downtime]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[365main]]></category>

		<guid isPermaLink="false">http://barry.wordpress.com/2007/07/25/power-redundancy/</guid>
		<description><![CDATA[Scott Beale reports that many Web 2.0 websites were affected by today&#8217;s power outage at 365 Main in San Francisco.  While unfortunate, as a systems guy I have to assume things like this are going to happen.  They shouldn&#8217;t happen, but they can and they will.  At the data center level, there [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=103&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Scott Beale <a href="http://laughingsquid.com/massive-power-outages-hit-san-franciscos-soma-district/">reports</a> that <a href="http://typepad.com">many</a> <a href="http://yelp.com">Web</a> <a href="http://netflix.com">2.0</a> <a href="http://craigslist.org">websites</a> were affected by today&#8217;s power outage at <a href="http://www.365main.com/">365 Main</a> in San Francisco.  While unfortunate, as a systems guy I have to assume things like this are going to happen.  They <em>shouldn&#8217;t</em> happen, but they <em>can</em> and they <em>will</em>.  At the data center level, there should be multiple levels of redundancy that minimize the probability of a power outage.  Things such as multiple power circuits, redundant UPSes, and generators are standard.  For a complete power outage to occur there should have to be multiple simultaneous system failures.  I looked for a statement from 365 Main as to what the problem was, but couldn&#8217;t find one.</p>
<p>The system architecture behind <a href="http://wordpress.com">WordPress.com</a> and <a href="http://akismet.com">Akismet</a> is designed to take entire data center failures into account.  For WordPress.com, we serve live content in real-time from 3 data centers (33% from each data center) and in the event of a data center failure, traffic is automatically re-routed to the 2 remaining data centers.  Syncing content in real-time between multiple data centers has not been easy, but at times like this I am sure that we made the right decision.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/barry.wordpress.com/103/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/barry.wordpress.com/103/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=103&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2007/07/25/power-redundancy/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>
	</item>
		<item>
		<title>Keeping track of 300 servers</title>
		<link>http://barry.wordpress.com/2007/07/18/keeping-track-of-300-servers/</link>
		<comments>http://barry.wordpress.com/2007/07/18/keeping-track-of-300-servers/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 06:33:14 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[scaling]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://barry.wordpress.com/2007/07/18/keeping-track-of-300-servers/</guid>
		<description><![CDATA[Since WordPress.com broke 10 million pageviews today, I thought it would be a good time to talk a little bit about keeping track of all the servers that run WordPress.com, Akismet, WordPress.org, Ping-o-matic, etc.  Currently we have over 300 servers online in 5 different data centers across the country.  Some of these are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=94&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Since WordPress.com broke 10 million <a href="http://wordpress.com/stats/traffic/">pageviews</a> today, I thought it would be a good time to talk a little bit about keeping track of all the servers that run WordPress.com, Akismet, WordPress.org, Ping-o-matic, etc.  Currently we have over 300 servers online in 5 different data centers across the country.  Some of these are collocated, and others are with dedicated hosting providers, but the bottom line is that we need to keep track of them all as if they were our children!   Currently we use  Nagios for server health monitoring, Munin for graphing various server metrics, and a wiki to keep track of all the server hardware specs, IPs, vendor IDs, etc.  All of these tools have suited us well up until now, but there have been some scaling issues.</p>
<ul>
<li><a href="http://mediawiki.org">MediaWiki</a> &#8212; Like <a href="http://meta.wikimedia.org/wiki/Wikimedia_servers">Wikipedia</a>, we have a MediaWiki page with a table that contains all of our server information, from hardware configuration to physical location, price, and IP information.  Unfortunately, MediaWiki tables don&#8217;t seem to be very flexible and you cannot perform row or column-based operations.  This makes simple things such as counting how many servers we have become somewhat time consuming.  Also, when you get to 300 rows, editing the table becomes a very tedious task.  It is very easy to make a mistake throwing the entire table out of whack.  Even dividing the data into a few tables doesn&#8217;t make it much easier.  In addition, there is no concept of unique records (nor do I really think there should be) so it is very easy to end up with 2 servers that have the same IP listed or the same hostname.</li>
</ul>
<ul>
<li><a href="http://munin.projects.linpro.no/">Munin</a> &#8212; Munin has become an invaluable tool for us when troubleshooting issues and planning future server expansion.  Unfortunately, scaling munin hasn&#8217;t been the best experience.  At about 100 hosts, we started running into  disk IO problems caused by the various data collection, graphing and HTML output jobs munin runs.  It seemed the solution was to switch to the <a href="http://munin.projects.linpro.no/wiki/CgiHowto">JIT graphing model</a> which only drew the graphs when you viewed them.  Unfortunately, this only seemed to make the interface excruciatingly slow and didn&#8217;t help the IO problems we were having.  At about 150 hosts we moved munin to a dedicated server with 15k RPM SCSI drives in a RAID 0 array in an attempt to give it some more breathing room.  That worked for a while, but we then started running into problems where the process of polling all the hosts actually took longer than the monitoring interval.  The result was that we were missing some data.  Since then, we have resorted to removing some of the things we graph on each server in order to lighten the load.  Every once in a while, we still run into problems where a server is a little slow to respond and it causes the polling to take longer than 5 minutes.  Obviously, better hardware and reducing graphed items isn&#8217;t a scalable solution so something is going to have to change.  We could put a munin monitoring server in each datacenter, but we currently sum and stack graphs across datacenters.  I am not sure if/how that works when the data is on different servers.  The other big problem I see with munin is that if one host&#8217;s graphs stop updating and that host was part of a totals graph, the totals graph will just stop working.  This happened today &#8212; very frustrating.</li>
</ul>
<ul>
<li><a href="http://nagios.org">Nagios</a> &#8212; I feel this has scaled the best of the 3.  We have this running on a relatively light server and have no load or scheduling issues.  I think it is time, however, to look at moving to Nagios&#8217; <a href="http://nagios.sourceforge.net/docs/2_0/distributed.html">distributed monitoring model</a>.  The main reason for this is that since we have multiple datacenters, each of which have their own private network, it is important for us to monitor each of these networks independently in addition to the public internet connectivity to each datacenter.  The simplest way to do this is to put a nagios monitoring node in each data center which can then monitor all the servers in that facility and report the results back to the central monitoring server.  Splitting up the workload should also allow us to scale to thousands of hosts without any problems.</li>
</ul>
<p>Anyone have recommendations on how to better deal with these basic server monitoring needs?  I have looked at <a href="http://www.zabbix.com/">Zabbix</a>, <a href="http://cacti.net/">Cacti</a>, <a href="http://ganglia.sourceforge.net/">Ganglia</a>, and some others in the past, but have never been super-impressed.  Barring any major revelations in the next couple weeks, I think we are going to continue to scale out Nagios and Munin and replace the wiki page with a simple PHP/MySQL application that is flexible enough to integrate into our configuration management and deploy tools.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/barry.wordpress.com/94/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/barry.wordpress.com/94/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=94&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2007/07/18/keeping-track-of-300-servers/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>
	</item>
		<item>
		<title>Additional Capacity</title>
		<link>http://barry.wordpress.com/2007/04/16/additional-capacity/</link>
		<comments>http://barry.wordpress.com/2007/04/16/additional-capacity/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 07:32:09 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[scaling]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">http://barry.wordpress.com/2007/04/16/additional-capacity/</guid>
		<description><![CDATA[So, I haven&#8217;t blogged much lately but there is a reason.  Over the past month we have been hard at work expanding the infrastructure behind WordPress.com and Akismet.  Here are some of the things that we have done over the past month or so:

Migrated out of San Diego
Brought online almost 100 new servers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=80&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So, I haven&#8217;t blogged much lately but there is a reason.  Over the past month we have been hard at work expanding the infrastructure behind WordPress.com and Akismet.  Here are some of the things that we have done over the past month or so:</p>
<ul>
<li>Migrated out of San Diego</li>
<li>Brought online almost 100 new servers in 3 new datacenters &#8212; Dallas, TX, San Antonio, TX, and San Francisco, CA</li>
<li>Tripled the database hardware behind WordPress.com</li>
<li>Now serving WordPress.com blogs out of 3 datacenters in real-time</li>
<li>Akismet is now served from 2 datacenters</li>
</ul>
<p>Here are a couple pictures of some new hardware racked and powered on just before we put it into production last week.</p>
<p>From top to bottom (left):</p>
<ul>
<li> 21 x HP DL145</li>
<li> 4 x HP DL365</li>
</ul>
<p>From top to bottom (right):</p>
<ul>
<li> 18 x HP DL145</li>
<li> 4 x HP DL365</li>
<li> 1 x 3U HP Storage Array</li>
<li> 1 x HP DL385</li>
</ul>
<p><a title="new-servers-04-2007.jpg" href="http://barry.files.wordpress.com/2007/04/new-servers-04-2007.jpg"><img src="http://barry.files.wordpress.com/2007/04/new-servers-04-2007.jpg" border="0" alt="new-servers-04-2007.jpg" /></a></p>
<p>And the back&#8230;.</p>
<p><a title="new-servers-back-04-2007.jpg" href="http://barry.files.wordpress.com/2007/04/new-servers-back-04-2007.jpg"><img src="http://barry.files.wordpress.com/2007/04/new-servers-back-04-2007.jpg" border="0" alt="new-servers-back-04-2007.jpg" /></a></p>
<p>Thanks to Evan League and Brian Maples of <a href="http://layeredtech.com">Layered Tech</a> for doing the build-out pictured above and sending the photos over.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/barry.wordpress.com/80/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/barry.wordpress.com/80/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=80&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2007/04/16/additional-capacity/feed/</wfw:commentRss>
		<slash:comments>108</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>

		<media:content url="http://barry.files.wordpress.com/2007/04/new-servers-04-2007.jpg" medium="image">
			<media:title type="html">new-servers-04-2007.jpg</media:title>
		</media:content>

		<media:content url="http://barry.files.wordpress.com/2007/04/new-servers-back-04-2007.jpg" medium="image">
			<media:title type="html">new-servers-back-04-2007.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>New servers for WordPress.com</title>
		<link>http://barry.wordpress.com/2007/01/31/new-servers-for-wordpresscom/</link>
		<comments>http://barry.wordpress.com/2007/01/31/new-servers-for-wordpresscom/#comments</comments>
		<pubDate>Wed, 31 Jan 2007 11:30:04 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[scaling]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">http://barry.wordpress.com/2007/01/31/new-servers-for-wordpresscom/</guid>
		<description><![CDATA[We are getting ready to place an order for an additional 37 servers in a new datacenter.  This new point of presence will serve as the 3rd active node for WordPress.com.  Over the past few weeks, I have been doing lots of testing and seemingly endless negotiation with various hosting companies.
Background
The model we [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=66&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>We are getting ready to place an order for an additional 37 servers in a new datacenter.  This new point of presence will serve as the 3rd active node for WordPress.com.  Over the past few weeks, I have been doing lots of testing and seemingly endless negotiation with various hosting companies.</p>
<p><strong>Background</strong></p>
<p>The model we have adopted is to use commodity hardware to serve all the functions of the site.  We do not rely on SANs or super-expensive multi-processor systems.   Our web servers are usually either single or dual processor machines with 1-2GB of RAM and a small, inexpensive hard drive.  Our database servers are single or dual processor machines with 4-8GB of RAM and 2-4 fast SCSI drives in a RAID array using a hardware RAID controller.  Because there is redundancy built into the architecture that several of these machines can fail at once at the site is unaffected, the individual machines do not need to be extremely robust. Historically, CPU time has been the most precious resource on the web servers and disk I/O on the DBs.</p>
<p><strong>Requirements</strong></p>
<ul>
<li>Provide the hardware outlined above</li>
<li>Support Debian AMD64 or similar</li>
<li>Provide a Gigabit private backend network for inter-server communication</li>
<li>Ability to deploy additional servers quickly and painlessly</li>
<li>Sales and support team that is competent and easy to work with</li>
<li>US Datacenter and not Dallas or San Diego</li>
</ul>
<p><strong>Initial Impressions</strong></p>
<p>Dedicated server providers seem to fall into 2 classes:</p>
<p>1) No-frills provider that offers server between $79 &#8211; $149/month.  No phone support or advanced services.  This would be fine, but they usually cannot provide the DB-class machines we need and do not provide Gigabit backend networks.</p>
<p>2) Full-service provider that offers servers beginning at $250/month and up.  These providers are usually not the best fit for us because they justify their higher prices by saying they have superior support.   We don&#8217;t really need  &#8220;superior&#8221; support, just someone that can take care of hardware issues when needed.  Seems like a waste to pay for something you are never going to use and don&#8217;t really need.  Also, in my experience, the more expensive the hosting company, the more painful the sales process is.  Sometimes I feel like I am buying a car&#8230;.</p>
<p><strong>The Finalists</strong></p>
<p>Over the past month, we have narrowed the field from about 10 different possible providers down to the following 3.  Each of these fit somewhere between no-frills and full-service as mentioned above, but I definitely get the feeling that they lean one way or the other.</p>
<ul>
<li><a href="http://servepath.com/">ServePath</a><br />
Based in San Francisco, California (where Automattic is also based) they seem to lean towards the full-service side, offering 24&#215;7 phone support, higher-end servers, load balancers, and firewalls.  Their sales process has been pretty agonizing.  It is now going on 45 days of back and forth, price changes, configuration changes, conference calls, and about 50 one-on-one calls with our sales guy.   I had chance to visit their offices and tour their datacenter earlier this week so I got a feel of how things work there &#8212; it appears to be a well-run organization.  One thing that struck me as a bit odd was that they do not deploy any rack-mounted servers in their datacenter.  All of their servers, which are built in house, are in tower (white-box) chassis like you would see under an office desk.  This is something I would expect in the lower-end market, but at $500+ per month and rather large RAID arrays (300GB SCSI x 6) I would expect to see more rack-mounted chassis to take advantage of the superior cooling.</li>
</ul>
<ul>
<li><a href="http://serverbeach.com">Server Beach</a><br />
Based in San Antonio, Texas and now owned by Peer1, Server Beach is definitely more on the no-frills side.  When we were looking at new datacenters about 6 months ago, Server Beach could not provide what we wanted &#8212; they did not offer SCSI RAID or Gigabit privatenet, but said it was coming.  Well, those things are now available. Kudos to Server Beach on a super-simple and painless sales process.  Once I contacted them with the configuration we wanted, they scheduled a conference call to discuss the details.  They had members of their support, operations, and sales teams on the line.  About 30 minutes later we were all done and a day later they had sent over a proposal.  It was right the first time &#8211; had everything we asked for and at a very fair price.</li>
</ul>
<ul>
<li><a href="http://textdrive.com/hosting/accelerator">Joyent/TextDrive</a><br />
Honestly, we probably will not go with TextDrive for this deployment, as it is a pretty radical departure from our current configuration, and they don&#8217;t technically meet the requirements laid out above.  They are worth mentioning, however, because they are doing some pretty cool stuff with OpenSolaris, zones, and ZFS, and it sounds like it could be a good fit for our architecture model.  Their storage is super-fast, the container model allows you to replicate existing containers with a single command &#8212; there is no need to provision and setup a new physical server.  ZFS offers all sorts of cool stuff like snapshots, compression, and built-in data consistency checks.  Utilizing this architecture, would require that we maintain 2 completely separate environments &#8212; Linux and Solaris &#8212; and there is a definite time investment in doing so.  I think that we will probably look at moving some of our services to Solaris containers in the near future, but I am not sure it will be WordPress.com.</li>
</ul>
<p><strong>The Verdict</strong></p>
<p>First, let me say that we still have yet to make the final decision, but hope to do so by the end of the week.  Both ServePath and Server Beach seem like they will be great companies to work with.  ServePath is local, so we can walk over to their offices and meet with them if needed &#8211; there is something to be said for working with local vendors.  Server Beach has been a pleasure to work with thus far and I have some experience working with them in the past.  Peer1&#8217;s VP of Marketing also <a href="http://bigmarketing.wordpress.com">blogs on WordPress.com</a>.  Pricing and server configurations are almost identical, so that really isn&#8217;t as much of a factor as one would think.</p>
<p>Anyone have experience working with either of these companies?  Suggestions?  Feedback?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/barry.wordpress.com/66/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/barry.wordpress.com/66/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=66&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2007/01/31/new-servers-for-wordpresscom/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>
	</item>
		<item>
		<title>Interesting stats</title>
		<link>http://barry.wordpress.com/2006/10/05/interesting-stats/</link>
		<comments>http://barry.wordpress.com/2006/10/05/interesting-stats/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 01:48:23 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[scaling]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">http://barry.wordpress.com/2006/10/05/interesting-stats/</guid>
		<description><![CDATA[As a follow up to Matt&#8217;s September wrap up post, I thought it would be fun to post some more technical stats about the current WordPress.com infrastructure:

80 physical processors
139GB of RAM
91 hard drives with a combined total of over 15 terabytes of storage space
2000 database queries per second spread over 40 MySQL instances
Over 8 million [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=34&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As a follow up to <a href="http://photomatt.net">Matt&#8217;s</a> <a href="http://wordpress.com/blog/2006/10/02/september-wrap-up/">September wrap up post</a>, I thought it would be fun to post some more technical stats about the current WordPress.com infrastructure:</p>
<ul>
<li>80 physical processors</li>
<li>139GB of RAM</li>
<li>91 hard drives with a combined total of over 15 terabytes of storage space</li>
<li>2000 database queries per second spread over 40 MySQL instances</li>
<li>Over 8 million objects stored in memcached serving over 8000 requests per second</li>
</ul>
<p>The best part is that this is just the beginning!  There are many more exciting things to come.  Next up &#8212; expansion to 2 additional datacenters in the US.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/barry.wordpress.com/34/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/barry.wordpress.com/34/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=34&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2006/10/05/interesting-stats/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>
	</item>
		<item>
		<title>Load balancer testing</title>
		<link>http://barry.wordpress.com/2006/08/30/load-balancer-testing/</link>
		<comments>http://barry.wordpress.com/2006/08/30/load-balancer-testing/#comments</comments>
		<pubDate>Wed, 30 Aug 2006 18:55:47 +0000</pubDate>
		<dc:creator>Barry</dc:creator>
				<category><![CDATA[pound]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">https://barry.wordpress.com/2006/08/30/load-balancer-testing/</guid>
		<description><![CDATA[Over the past week here at wordpress.com, we have been doing some experimentation with various software load balancers.   In the latest test, we are using Pound with a weighted round-robin algorithm between all of the web servers in a given datacenter.  The individual weight takes into account hardware differences and any other [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=14&subd=barry&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Over the past week here at wordpress.com, we have been doing some experimentation with various software load balancers.   In the latest test, we are using <a href="http://www.apsis.ch/pound/" target="_blank">Pound</a> with a weighted round-robin algorithm between all of the web servers in a given datacenter.  The individual weight takes into account hardware differences and any other tasks that server may be doing.  So, a dual processor server would receive more traffic than a single processor machine.  The tests have been going really well so far.  Once the testing is complete and we have decided on a solution, I will post about the various things we tried, pros and cons of each, etc.  The graph below shows the load averages of the various web servers over a one week period.  I&#8217;ll let you guess when the test began <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Pretty dramatic difference, eh?</p>
<p><img src="http://barry.files.wordpress.com/2006/08/totals-web_load-week.png" alt="totals-web_load-week.png" /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/barry.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/barry.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/barry.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/barry.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/barry.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/barry.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/barry.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/barry.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/barry.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/barry.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/barry.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/barry.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=barry.wordpress.com&blog=20261&post=14&subd=barry&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://barry.wordpress.com/2006/08/30/load-balancer-testing/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/713072bbe89035a79c17d19e53dd5d9b?s=96&#38;d=identicon" medium="image">
			<media:title type="html">barry</media:title>
		</media:content>

		<media:content url="http://barry.files.wordpress.com/2006/08/totals-web_load-week.png" medium="image">
			<media:title type="html">totals-web_load-week.png</media:title>
		</media:content>
	</item>
	</channel>
</rss>