<?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>MaisonBisson.com &#187; performance</title>
	<atom:link href="http://maisonbisson.com/blog/post/tag/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://maisonbisson.com</link>
	<description>A bunch of stuff I would have emailed you about.</description>
	<lastBuildDate>Sat, 14 Nov 2009 20:14:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Systems Wrangling Session At WordCamp Developer Day</title>
		<link>http://maisonbisson.com/blog/post/13938/systems-wrangling-session-at-wordcamp-developer-day/</link>
		<comments>http://maisonbisson.com/blog/post/13938/systems-wrangling-session-at-wordcamp-developer-day/#comments</comments>
		<pubDate>Sun, 31 May 2009 21:13:21 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[systems]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordCamp 2009]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13938</guid>
		<description><![CDATA[
What is the current status of web servers&#8230;Is Apache 2.x “fast enough?”
Automattic uses Lightspeed (for PHP), nginx (for static content), and Apache (for media uploads). For WordPress-generated content, all server options are approximately the same speed.
What about APC?
Automattic uses beta versions of APC, and provides a 3-5x performance increase. It&#8217;s tied closely to the PHP [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13938"><!-- &nbsp; --></abbr>
<p><a title="Ask your questions here « Server Q&amp;A — WordCamp Dev Day" href="http://serverqa.wordpress.com/2009/05/31/ask-your-questions-here/#comment-2">What is the current status of web servers&#8230;Is Apache 2.x “fast enough?”</a><br />
Automattic uses Lightspeed (for PHP), nginx (for static content), and Apache (for media uploads). For WordPress-generated content, all server options are approximately the same speed.</p>
<p><a title="Ask your questions here « Server Q&amp;A — WordCamp Dev Day" href="http://serverqa.wordpress.com/2009/05/31/ask-your-questions-here/#comment-3">What about APC?</a><br />
Automattic uses beta versions of APC, and provides a 3-5x performance increase. It&#8217;s tied closely to the PHP version, so Automattic recently switched from PHP 4 to PHP 5.</p>
<p><a title="Ask your questions here « Server Q&amp;A — WordCamp Dev Day" href="http://serverqa.wordpress.com/2009/05/31/ask-your-questions-here/#comment-4">Databases?</a><br />
MySQL scales well and is easy enough to use that there&#8217;s little reason to consider other DBs for WordPress content. Other applications may have different needs. Note: <a title="How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog" href="http://bret.appspot.com/entry/how-friendfeed-uses-mysql">FriendFeed uses MySQL to store schema-less data</a>. Single-table key lookups in MySQL are faster than getting the data from Memcached.</p>
<p><a title="Ask your questions here « Server Q&amp;A — WordCamp Dev Day" href="http://serverqa.wordpress.com/2009/05/31/ask-your-questions-here/#comment-7">Caching?</a><br />
Automattic uses <a title="WordPress › Batcache « WordPress Plugins" href="http://wordpress.org/extend/plugins/batcache/">Batcache</a> for full-page caching (.002 to .003 second), <a title="Revision 121652: /memcached" href="http://svn.wp-plugins.org/memcached/">Memcached</a> persistent object cache, very limited MySQL query cache (never larger than 256MB), sufficiently large key buffer.</p>
<p><a title="Ask your questions here « Server Q&amp;A — WordCamp Dev Day" href="http://serverqa.wordpress.com/2009/05/31/ask-your-questions-here/#comment-14">HyperDB?</a><br />
<a title="WordPress › HyperDB « WordPress Plugins" href="http://wordpress.org/extend/plugins/hyperdb/">HyperDB</a> solves DB scaling problems.</p>
<p><a title="Ask your questions here « Server Q&amp;A — WordCamp Dev Day" href="http://serverqa.wordpress.com/2009/05/31/ask-your-questions-here/#comment-25">Backups</a><br />
User-data backed up every hour, if something changed. Every blog backed up every 12 hours. Dedicated MySQL slaves do LVM snapshots for backups.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13938/systems-wrangling-session-at-wordcamp-developer-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.8 Script Handling</title>
		<link>http://maisonbisson.com/blog/post/13929/wordpress-28-script-handling/</link>
		<comments>http://maisonbisson.com/blog/post/13929/wordpress-28-script-handling/#comments</comments>
		<pubDate>Sun, 31 May 2009 15:16:36 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress 2.8]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13929</guid>
		<description><![CDATA[
jQuery 1.3.2 is in WordPress 2.8, but the most exciting changes are in the automatic concatenation and compression of scripts via the script loader.
Andrew Ozz says “This feature can easily be extended to include scripts added by plugins and to use server side caching, however that would require some changes to the server settings (.htaccess [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13929"><!-- &nbsp; --></abbr>
<p><a title="/trunk/wp-includes/js/jquery/jquery.js – WordPress Trac" href="http://core.trac.wordpress.org/browser/trunk/wp-includes/js/jquery/jquery.js">jQuery 1.3.2 is in</a> <a href="http://codex.wordpress.org/Version_2.8">WordPress 2.8</a>, but the most exciting changes are in the automatic concatenation and compression of scripts <a title="Script loader updates « WordPress Development Updates" href="http://wpdevel.wordpress.com/2009/02/06/script-loader-updates/">via the script loader</a>.</p>
<p>Andrew Ozz says “This feature can easily be extended to include scripts added by plugins and to use server side caching, however that would require some changes to the server settings (.htaccess on Apache).”</p>
<p>I have yet to figure out how to extend that feature to scripts in my plugins, but I&#8217;m working on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13929/wordpress-28-script-handling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Slow Query Log Analysis</title>
		<link>http://maisonbisson.com/blog/post/13525/mysql-slow-query-log-analysis/</link>
		<comments>http://maisonbisson.com/blog/post/13525/mysql-slow-query-log-analysis/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 16:17:24 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[slow query log]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13525</guid>
		<description><![CDATA[
Peter at MySQL Performance Blog pointed out this sweet perl script to analyze MySQL&#8217;s slow query logs. (This is supposedly a PHP port.)
The script does a good job of aggregating similar queries (those that only differ in their query values) and displaying overall stats for them. The following two queries are showing up a lot [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13525"><!-- &nbsp; --></abbr>
<p>Peter at <a title="MySQL Performance Blog" href="http://www.mysqlperformanceblog.com/">MySQL Performance Blog</a> <a title="Slow Query Log analyzes tools | MySQL Performance Blog" href="http://www.mysqlperformanceblog.com/2006/09/06/slow-query-log-analyzes-tools/">pointed out</a> this <a title="http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser" href="http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser">sweet perl script</a> to analyze MySQL&#8217;s <a title="MySQL :: MySQL 5.0 Reference Manual :: 5.2.4 The Slow Query Log" href="http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html">slow query logs</a>. (<a title="mysql-log-filter - Google Code" href="http://code.google.com/p/mysql-log-filter/">This is supposedly a PHP port</a>.)</p>
<p>The script does a good job of aggregating similar queries (those that only differ in their query values) and displaying overall stats for them. The following two queries are showing up a lot in my WPMU installation because I also have it set to log queries that don&#8217;t use indexes. They&#8217;re not necessarily slow (MySQL &lt; 5.1 logs execution times to the nearest second, with a one second minimum), but the fact that they&#8217;re appearing a lot probably means the value isn&#8217;t being cached in Memcached.</p>
<p>The first SQL line shows the prototype for the query, the second is a real example from the log.</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">### 90379 Queries
### Total time: 90556, Average time: 1.00195841954436
### Taking 1  to 6  seconds to complete
### Rows analyzed 744 - 587874
SELECT COUNT(ID) FROM wp_XXX_posts WHERE post_status = 'XXX' and post_type = 'XXX';
&nbsp;
SELECT COUNT(ID) FROM wp_7_posts WHERE post_status = 'publish' and post_type = 'post';</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">### 8768 Queries
### Total time: 9033, Average time: 1.03022354014599
### Taking 1  to 4  seconds to complete
### Rows analyzed 0 - 199
SELECT option_name, option_value FROM wp_XXX_options FORCE INDEX(PRIMARY) ORDER BY option_id ASC;
&nbsp;
SELECT option_name, option_value FROM wp_4_options FORCE INDEX(PRIMARY) ORDER BY option_id ASC;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13525/mysql-slow-query-log-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking Back At Mac Hardware Performance</title>
		<link>http://maisonbisson.com/blog/post/13371/looking-back-at-mac-hardware-performance/</link>
		<comments>http://maisonbisson.com/blog/post/13371/looking-back-at-mac-hardware-performance/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 14:26:24 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[G4]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[Mac Mini]]></category>
		<category><![CDATA[macintosh]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[PowerMac G4]]></category>
		<category><![CDATA[PPC vs x86]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13371</guid>
		<description><![CDATA[

I recently replaced the Mac Mini I use to host my web development with a PowerMac G4. (Story: the Mini was mine, a personal purchase I made to support my work on Scriblio and other WordPress-related projects, but recent changes in our network and firewall policy made the machine inaccessible from off-campus without using the [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13371"><!-- &nbsp; --></abbr>
<p><a href="http://www.geekpatrol.ca/2006/08/mac-performance-from-the-g3-to-the-xeon/"><img src="http://www.geekpatrol.ca/images/pro_desktop.gif" alt="pro desktop Mac performance from G3 to x86_64" width='600' height='408' alt='pro desktop mac performance' /></a></p>
<p>I recently replaced the <a href="http://en.wikipedia.org/wiki/Mac_Mini">Mac Mini</a> I use to host my web development with a <a href="http://en.wikipedia.org/wiki/Power_Mac_G4">PowerMac G4</a>. (Story: the Mini was mine, a personal purchase I made to support my work on Scriblio and other WordPress-related projects, but recent changes in our network and firewall policy made the machine inaccessible from off-campus without using the VPN. Having a personal machine sit at my desk at work isn&#8217;t as useful if I can&#8217;t use it conveniently and for para-work activities, so I wanted to take the Mini home.) The first challenge was replacing the x86-specific apps and daemons with PPC versions, the next one was in coming to terms with how dramatically slower the dual 1GHz G4 is from the 1.66Ghz Core Duo.</p>
<p><a href="http://www.geekpatrol.ca/author/John/">John Poole</a>&#8217;s 2006 blog post confirmed what I was feeling: <a href="http://www.geekpatrol.ca/2006/08/mac-performance-from-the-g3-to-the-xeon/">G4s are way slower than I realized at the time</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13371/looking-back-at-mac-hardware-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website Performance vs. Crawl Rate</title>
		<link>http://maisonbisson.com/blog/post/12631/website-performance-vs-crawl-rate/</link>
		<comments>http://maisonbisson.com/blog/post/12631/website-performance-vs-crawl-rate/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 18:39:25 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[crawl rate]]></category>
		<category><![CDATA[googlebot]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[website performance]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12631</guid>
		<description><![CDATA[

Simple fact of The Google Economy: people can&#8217;t find stuff if it&#8217;s not indexed in major search engines. A slow site might not seem as bad as blocking the crawlers that search engines use to index your content, but it does seriously affect the depth and frequency of crawling they do.
The above is Google&#8217;s report [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12631"><!-- &nbsp; --></abbr>
<p><a href="http://www.flickr.com/photos/maisonbisson/2873530679/" title="website performance vs. crawl by misterbisson, on Flickr"><img src="http://farm4.static.flickr.com/3176/2873530679_cf8d1a6f47.jpg" width="500" height="304" alt="website performance vs. crawl" /></a></p>
<p>Simple fact of <a href="http://maisonbisson.com/projects/rules-of-the-google-economy/" title="network effect">The Google Economy</a>: people can&#8217;t find stuff if it&#8217;s not indexed in major search engines. A slow site might not seem as bad as <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=40360" title="network effect">blocking the crawlers that search engines use to index your content</a>, but it does seriously affect the depth and frequency of crawling they do.</p>
<p>The above is Google&#8217;s report of their crawling activity on a site I&#8217;ve been trying to optimize server performance on. Comparing the response time in the bottom graph to the number of pages crawled at the top offers some clear evidence of the <a href="http://groups.google.com/group/Google_Webmaster_Help-Indexing/browse_thread/thread/57afb778442fdf8/177737c39b0a6502?lnk=gst&amp;q=&amp;fwc=1" title="network effect">relationship between the two</a>. Most people seem to think server performance only matters if your site gets Dugg (old people say Slashdotted). Now even I&#8217;ll think again.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12631/website-performance-vs-crawl-rate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scaling PHP</title>
		<link>http://maisonbisson.com/blog/post/11407/scaling-php/</link>
		<comments>http://maisonbisson.com/blog/post/11407/scaling-php/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 13:28:50 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[callgrind]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Rasmus Lerdorf]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[scaling, php2008]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11407/</guid>
		<description><![CDATA[
This two year old post about Rasmus Lerdorf&#8217;s PHP scaling tips (slides) is interesting in the context of what we&#8217;ve learned since then. APC now seems common, and it&#8217;s supposedly built-in to PHP6. Still, I&#8217;d be interested in seeing an update. Are MySQL prepared statements still slow?
And that&#8217;s where Rasmus&#8217; latest presentation comes in. We [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11407"><!-- &nbsp; --></abbr>
<p>This two year old post about <a title="Rasmus Lerdorf on scaling web apps with PHP" href="http://www.niallkennedy.com/blog/archives/2006/07/rasmus-lerdorf-php-web20.html">Rasmus Lerdorf&#8217;s PHP scaling tips</a> (<a href="http://talks.php.net/show/oscon06/0">slides</a>) is interesting in the context of what we&#8217;ve learned since then. <a href="http://pecl.php.net/package/APC">APC</a> now seems common, and it&#8217;s supposedly built-in to PHP6. Still, I&#8217;d be interested in seeing an update. Are MySQL prepared statements still slow?</p>
<p>And that&#8217;s where <a href="http://talks.php.net/show/drupal08/">Rasmus&#8217; latest presentation</a> comes in. We don&#8217;t learn anything about MySQL prepared statements, but we do learn how to find choke points in our applications using callgrind and other tools. In his examples, he can do a little over 600 transactions per second with both static HTML <em>and</em> simple PHP, but various frameworks &#8212; with many inclusions and function calls &#8212; can slow that to under 50 transactions per second (I suppose they&#8217;d explain that in a <a href="http://en.wikipedia.org/wiki/Office_Space">TPS report</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11407/scaling-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon To Offer Content Delivery Services</title>
		<link>http://maisonbisson.com/blog/post/12613/amazon-to-offer-content-delivery-services/</link>
		<comments>http://maisonbisson.com/blog/post/12613/amazon-to-offer-content-delivery-services/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 12:55:42 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[amazon web services]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[content delivery networks]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[website optimization]]></category>
		<category><![CDATA[website performance]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12613</guid>
		<description><![CDATA[
Via an email from the Amazon Web Services group today:
&#8230;we are excited to share some early details with you about a new offering we have under development here at AWS — a content delivery service.
This new service will provide you a high performance method of distributing content to end users, giving your customers low latency [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12613"><!-- &nbsp; --></abbr>
<p>Via an email from the Amazon Web Services group today:</p>
<blockquote><p>&#8230;we are excited to share some early details with you about a new offering we have under development here at AWS — a content delivery service.</p>
<p>This new service will provide you a high performance method of distributing content to end users, giving your customers low latency and high data transfer rates when they access your objects. The initial release will help developers and businesses who need to deliver popular, publicly readable content over HTTP connections. Our goal is to create a content delivery service that:</p>
<ul>
<li>Lets developers and businesses get started easily – there are no minimum fees and no commitments. You will only pay for what you actually use.</li>
<li>Is simple and easy to use – a single, simple API call is all that is needed to get started delivering your content.</li>
<li>Works seamlessly with Amazon S3 – this gives you durable storage for the original, definitive versions of your files while making the content delivery service easier to use.</li>
<li>Has a global presence – we use a global network of edge locations on three continents to deliver your content from the most appropriate location.</li>
</ul>
<p>You&#8217;ll start by storing the original version of your objects in Amazon S3, making sure they are publicly readable. Then, you&#8217;ll make a simple API call to register your bucket with the new content delivery service. This API call will return a new domain name for you to include in your web pages or application. When clients request an object using this domain name, they will be automatically routed to the nearest edge location for high performance delivery of your content. It&#8217;s that simple.</p>
<p>We&#8217;re currently working with a small group of private beta customers, and expect to have this service widely available before the end of the year.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12613/amazon-to-offer-content-delivery-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NFL Powered By WordPress</title>
		<link>http://maisonbisson.com/blog/post/12462/nfl-powered-by-wordpress/</link>
		<comments>http://maisonbisson.com/blog/post/12462/nfl-powered-by-wordpress/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 01:01:52 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[innovative uses of WordPress]]></category>
		<category><![CDATA[NFL]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12462</guid>
		<description><![CDATA[

WordPress.com VIP hosts some high-traffic sites, including Gizmodo&#8217;s live coverage of the iPhone 3g introduction. Now that the NFL has selected the service for their blogging we&#8217;ll get a chance to see how they handle the Superbowl rush.
]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12462"><!-- &nbsp; --></abbr>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="250" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="blog_domain=http://wordpresspublishers.wordpress.com&amp;width=400&amp;height=250" /><param name="src" value="http://v.wordpress.com/MvIhraHG/fmt_std" /><embed type="application/x-shockwave-flash" width="400" height="250" src="http://v.wordpress.com/MvIhraHG/fmt_std" flashvars="blog_domain=http://wordpresspublishers.wordpress.com&amp;width=400&amp;height=250"></embed></object></p>
<p><a href="http://wordpress.com/vip-hosting/">WordPress.com VIP</a> hosts some high-traffic sites, including Gizmodo&#8217;s <a href="http://publisherblog.automattic.com/2008/03/06/gizmodo-liveblog-of-apples-iphone-roadmap-event/">live coverage of the iPhone 3g introduction</a>. Now that the <a href="http://publisherblog.automattic.com/2008/09/04/nfl-selects-wordpresscom-vip/">NFL has selected the service</a> for their blogging we&#8217;ll get a chance to see how they handle the Superbowl rush.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12462/nfl-powered-by-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>More Web Performance Tips From Steve Souders</title>
		<link>http://maisonbisson.com/blog/post/12328/more-web-performance-tips-from-steve-souders/</link>
		<comments>http://maisonbisson.com/blog/post/12328/more-web-performance-tips-from-steve-souders/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 16:10:28 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12328</guid>
		<description><![CDATA[

Hearing Steve Souders at WordCamp last week got me thinking about website performance, so I went looking for more. The slides from his WordCamp talk are online, but he gave a similar talk at Google I/O which got videotaped and posted richer detail than his slides alone will ever reveal.
Also on his blog: Use the [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12328"><!-- &nbsp; --></abbr>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/QRUqVyP27Hw&amp;color1=11645361&amp;color2=13619151&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/QRUqVyP27Hw&amp;color1=11645361&amp;color2=13619151&amp;fs=1" allowfullscreen="true" wmode="transparent"></embed></object></p>
<p>Hearing <a title="» Steve Souders On Website Performance MaisonBisson.com" href="http://maisonbisson.com/blog/post/12238/steve-souders-on-website-performance/">Steve Souders at WordCamp</a> last week got me thinking about website performance, so I went looking for more. The slides from his WordCamp talk are <a href="http://stevesouders.com/docs/wordcamp-20080816.ppt">online</a>, but he gave a similar talk at <a title="Google I/O" href="http://code.google.com/events/io/">Google I/O</a> which got <a title="Even Faster Web Sites (Google I/O Session Videos and Slides)" href="http://sites.google.com/site/io/even-faster-web-sites">videotaped and posted</a> richer detail than his slides alone will ever reveal.</p>
<p>Also on his blog: Use the <a title="Google AJAX Libraries API" href="http://www.stevesouders.com/blog/2008/05/27/google-ajax-libraries-api/">Google AJAX Libraries API</a> when you don&#8217;t have a CDN, and a post that asks <a title="Split the Initial Payload" href="http://www.stevesouders.com/blog/2008/05/14/split-the-initial-payload/">why make users wait</a> to download all your javascript before they see the page if you&#8217;re only going to use 25% of it at first?</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12328/more-web-performance-tips-from-steve-souders/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL Performance Monitoring Tips From The MySQL Newsletter</title>
		<link>http://maisonbisson.com/blog/post/12308/mysql-performance-monitoring-tips-from-the-mysql-newsletter/</link>
		<comments>http://maisonbisson.com/blog/post/12308/mysql-performance-monitoring-tips-from-the-mysql-newsletter/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 15:57:52 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12308</guid>
		<description><![CDATA[
Google turned this up, but i have no idea how old it is: How to Monitor MySQL&#8217;s performance.
]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12308"><!-- &nbsp; --></abbr>
<p>Google turned this up, but i have no idea how old it is: <a title="How to Monitor MySQL's performance" href="http://www.mysql.com/news-and-events/newsletter/2004-01/a0000000301.html">How to Monitor MySQL&#8217;s performance</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12308/mysql-performance-monitoring-tips-from-the-mysql-newsletter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quercus PHP To Java Compiler vs. WordPress</title>
		<link>http://maisonbisson.com/blog/post/12256/quercus-php-to-java-compiler-vs-wordpress/</link>
		<comments>http://maisonbisson.com/blog/post/12256/quercus-php-to-java-compiler-vs-wordpress/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 21:28:43 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Caucho]]></category>
		<category><![CDATA[Emil Ong]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Quercus]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12256</guid>
		<description><![CDATA[
Emil Ong is the Chief Evangelist and a lead developer for Caucho Technology, the developers of the Quercus PHP to Java compiler. The idea, I guess, is to write in PHP, deploy in Java, which some people say is better supported by the “enterprise.” 
Ong claims 26% performance improvement over Apache + mod_php + APC. [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12256"><!-- &nbsp; --></abbr>
<p>Emil Ong is the Chief Evangelist and a lead developer for <a href="http://caucho.com/">Caucho Technology</a>, the developers of the <a href="http://caucho.com/resin/doc/quercus.xtp" title="Quercus: PHP in Java">Quercus PHP to Java compiler</a>. The idea, I guess, is to write in PHP, deploy in Java, which some people say is better supported by the “enterprise.” </p>
<p>Ong claims 26% performance improvement over Apache + mod_php + APC. That sounds great, I suppose, but it&#8217;s less than what <a href="http://maisonbisson.com/blog/post/12249/chris-lea-on-nginx-and-wordpress">Chris Lea suggests</a> is possible if you simply replace <a href="http://projects.apache.org/projects/http_server.html">Apache</a> with <a href="http://nginx.net/">Nginx</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12256/quercus-php-to-java-compiler-vs-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Souders On Website Performance</title>
		<link>http://maisonbisson.com/blog/post/12238/steve-souders-on-website-performance/</link>
		<comments>http://maisonbisson.com/blog/post/12238/steve-souders-on-website-performance/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 17:23:56 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Steve Souders]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12238</guid>
		<description><![CDATA[
Steve Souders: 10% of the problem is server performance, 90% of problem is browser activity after the main html is downloaded. He wrote the book and developed YSlow, so he should know.
JavaScripts are downloaded serially and block other activity. Most JavaScript functions aren&#8217;t used at OnLoad. We could split the JS and only load essential [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12238"><!-- &nbsp; --></abbr>
<p><a href="http://stevesouders.com/">Steve Souders</a>: 10% of the problem is server performance, 90% of problem is browser activity after the main html is downloaded. He wrote <a href="http://www.amazon.com/High-Performance-Web-Sites-Essential/dp/0596529309/?tag=maisonbisson-20">the book</a> and developed <a href="http://developer.yahoo.com/yslow/">YSlow</a>, so he should know.</p>
<p>JavaScripts are downloaded serially and block other activity. Most JavaScript functions aren&#8217;t used at OnLoad. We could split the JS and only load essential functions up front, and load all the rest later. How much might that help? He says 25% to 50%. This quickly gets complex, but he&#8217;s got a simple plan that considers three questions:</p>
<ul>
<li>Is the script URL on the same host as the main HTML?</li>
<li>Should the browser indicate it&#8217;s busy, or not?</li>
<li>Does script execution order mater?</li>
</ul>
<p>And at that point things started to get too interesting to take publishable notes. I clearly need to pay more attention to this guy.</p>
<p>Stats he mentioned without being specific about the source:</p>
<ul>
<li>Google: 200ms longer download time cut revenue by 20%</li>
<li>Yahoo: 100ms of latency costs &#8230; big.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12238/steve-souders-on-website-performance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Performance Tips</title>
		<link>http://maisonbisson.com/blog/post/12169/wordpress-performance-tips/</link>
		<comments>http://maisonbisson.com/blog/post/12169/wordpress-performance-tips/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 21:21:35 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12169</guid>
		<description><![CDATA[
Elliott C. Back points to his use of object caching, WP-Cache, and MySQL query caching among the reasons why his site “is so much faster that yours.”
]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12169"><!-- &nbsp; --></abbr>
<p><a href="http://elliottback.com/" title="Elliott C. Back">Elliott C. Back</a> points to his use of object caching, WP-Cache, and MySQL query caching among the reasons why his site “<a href="http://elliottback.com/wp/archives/2007/04/15/why-my-wordpress-site-is-so-much-faster-than-yours/">is so much faster that yours</a>.”</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12169/wordpress-performance-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changes To WordPress Object Caching In 2.5</title>
		<link>http://maisonbisson.com/blog/post/12087/changes-to-wordpress-object-caching-in-25/</link>
		<comments>http://maisonbisson.com/blog/post/12087/changes-to-wordpress-object-caching-in-25/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 11:20:32 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[changes]]></category>
		<category><![CDATA[object cache]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress 2.5]]></category>
		<category><![CDATA[wp-cache]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/12087/changes-to-wordpress-object-caching-in-25</guid>
		<description><![CDATA[
Jacob Santos&#8216; FuncDoc notes:
The WordPress Object Cache changed in WordPress 2.5 and removed a lot of file support from the code. This means that the Object Cache in WordPress 2.5 is completely dependent on memory and will not be saved to disk for retrieval later. The constant WP_CACHE also changed its meaning.
I&#8217;ve just started using [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12087"><!-- &nbsp; --></abbr>
<p><a href="http://www.santosj.name/">Jacob Santos</a>&#8216; <a href="http://funcdoc.wordpress.com/2008/01/30/replacing-wordpress-object-caching/" title="Replacing WordPress Object Caching « Function Documentation">FuncDoc</a> notes:</p>
<blockquote><p>The WordPress Object Cache changed in WordPress 2.5 and removed a lot of file support from the code. This means that the Object Cache in WordPress 2.5 is completely dependent on memory and will not be saved to disk for retrieval later. The constant WP_CACHE also changed its meaning.</p></blockquote>
<p>I&#8217;ve just started using the <a href="http://codex.wordpress.org/Function_Reference/WP_Cache">object cache</a> and I&#8217;m happy with how it works now, so these changes are somewhat concerning. On the other hand, I&#8217;m confident that I&#8217;ll see even more performance gains once I get my head around the new cache and figure out how to implement it. </p>
<p>Extra: <a href="http://blog.ftwr.co.uk/wordpress/wp-cache-inspect/">Peter Westwood&#8217;s Cache Inspect</a> looks useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12087/changes-to-wordpress-object-caching-in-25/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>MySQL On Multi-Core Machines</title>
		<link>http://maisonbisson.com/blog/post/12086/mysql-on-multi-core-machines/</link>
		<comments>http://maisonbisson.com/blog/post/12086/mysql-on-multi-core-machines/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 12:11:17 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[multi-core performance]]></category>
		<category><![CDATA[multiprocessing]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[table locking]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/12086/mysql-on-multi-core-or-machines</guid>
		<description><![CDATA[
The DevShed technical tour explains that MySQL can spawn new threads, each of which can execute on a different processor/core. What it doesn&#8217;t say is that a single thread can only execute on a single core, and if that thread locks a table, then no other threads that need that table can execute until the [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12086"><!-- &nbsp; --></abbr>
<p>The <a href="http://www.devshed.com/c/a/MySQL/A-Technical-Tour-of-MySQL/6/" title="Page 7 - A Technical Tour of MySQL">DevShed technical tour</a> explains that MySQL can spawn new threads, each of which can execute on a different processor/core. What it doesn&#8217;t say is that a single thread can only execute on a single core, and if that thread locks a table, then no other threads that need that table can execute until the locking thread/query is complete. Short answer: MySQL works well on multi-core machines until you lock a table.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12086/mysql-on-multi-core-machines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.4 Performance, Timeline</title>
		<link>http://maisonbisson.com/blog/post/12017/wordpress-24-performance-timeline/</link>
		<comments>http://maisonbisson.com/blog/post/12017/wordpress-24-performance-timeline/#comments</comments>
		<pubDate>Sat, 29 Dec 2007 17:07:15 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Blink]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[timeline]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/12017/wordpress-24-performance-timeline</guid>
		<description><![CDATA[
The good news is that performance is a big goal for WP 2.4, the bad news is that it&#8217;s been delayed to the end of January at the earliest.
]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12017"><!-- &nbsp; --></abbr>
<p>The good news is that <a href="http://boren.nu/archives/2007/11/13/wordpress-24-performance-profiling/" title="» WordPress 2.4 Performance Profiling boren.nu">performance is a big goal</a> for WP 2.4, the bad news is that <a href="http://wordpress.org/about/roadmap/" title="WordPress › About » Roadmap">it&#8217;s been delayed</a> to the end of January at the earliest.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12017/wordpress-24-performance-timeline/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compress CSS &amp; JavaScript Using PHP Minify</title>
		<link>http://maisonbisson.com/blog/post/11994/compress-css-javascript-using-php-minify/</link>
		<comments>http://maisonbisson.com/blog/post/11994/compress-css-javascript-using-php-minify/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 12:50:13 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[minify]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11994/compress-css-javascript-using-php-minify</guid>
		<description><![CDATA[
It was part of a long thread among WordPress hackers over the summer and fall, but this post at VulgarisOverIP just reminded of it: minify promises to be an easy way to compress external CSS and JavaScript without adding extra steps to your develop/deploy process. No, really, look at the usage instructions. (To be clear, [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11994"><!-- &nbsp; --></abbr>
<p>It was part of a long thread among WordPress hackers over the summer and fall, but <a href="http://www.vulgarisoip.com/2007/06/21/minify-your-external-javascript-and-css-with-php/" title="“Minify” your external JavaScript and CSS with PHP at VulgarisOverIP">this post at VulgarisOverIP</a> just reminded of it: <a href="http://code.google.com/p/minify/">minify</a> promises to be an easy way to compress external CSS and JavaScript without adding extra steps to your develop/deploy process. No, really, look at <a href="http://code.google.com/p/minify/wiki/UserGuide" title="UserGuide - minify - Google Code">the usage instructions</a>. (To be clear, the Vulgaris and Google Code versions are different, one derived from the other and backported to PHP4 compatible. Still, the concept is the same.)</p>
<p>Vulgaris reports a nearly 300% decrease in time to download, definitely worth the effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11994/compress-css-javascript-using-php-minify/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Easy MySQL Performance Tips</title>
		<link>http://maisonbisson.com/blog/post/11796/easy-mysql-performance-tips/</link>
		<comments>http://maisonbisson.com/blog/post/11796/easy-mysql-performance-tips/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 15:19:14 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[query optimization]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11796/#easy-mysql-performance-tips</guid>
		<description><![CDATA[
Yes, I&#8217;m still trying to squeeze more performance out of MySQL. And since small changes to a query can make a big difference in performance&#8230;
Here are two really easy things to be aware of:

Never do a COUNT(*) (or anything *, says Zach). Instead, replace the * with the name of the column you&#8217;re searching against [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11796"><!-- &nbsp; --></abbr>
<p>Yes, I&#8217;m <a href="http://maisonbisson.com/blog/post/10970/">still trying</a> to squeeze more performance out of MySQL. And since small changes to a query can make a big difference in performance&#8230;</p>
<p>Here are two really easy things to be aware of:</p>
<ul>
<li><a href="http://www.mysqlperformanceblog.com/2007/04/10/count-vs-countcol/" title="MySQL Performance Blog » COUNT(*) vs COUNT(col)">Never do a <code>COUNT(*)</code></a> (or anything <code>*</code>, says <a href="http://nosheep.net/">Zach</a>). Instead, replace the <code>*</code> with the name of the column you&#8217;re searching against (and is hopefully indexed). That way some queries can execute entirely in the keycache (while * forces MySQL to read every matching row from the table).</li>
<li>When joining two large tables, but only searching against one, <a href="http://www.mysqlperformanceblog.com/2007/04/06/using-delayed-join-to-optimize-count-and-limit-queries/" title="MySQL Performance Blog » Using delayed JOIN to optimize count(*) and LIMIT queries">put the join statement at the end</a>. Why join the two entire tables when you only have to join the matching rows?</li>
</ul>
<p>I mention these because, well, I&#8217;ve known them forever, but upon seeing them again I realized I hadn&#8217;t really obeyed those simple rules in some of my queries.</p>
<p>Separately, there&#8217;s some pretty good info on <a href="http://www.mysqlperformanceblog.com/2006/06/08/mysql-server-variables-sql-layer-or-storage-engine-specific/" title="MySQL Performance Blog » MySQL Server Variables - SQL layer or Storage Engine specific.">what server variables affect what</a> at mysqlperformanceblog too.</p>
<p><tags>mysql, optimization, query optimization, performance, tips</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11796/easy-mysql-performance-tips/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wish I Could Be There&#8230;</title>
		<link>http://maisonbisson.com/blog/post/11523/wish-i-could-be-there/</link>
		<comments>http://maisonbisson.com/blog/post/11523/wish-i-could-be-there/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 17:53:51 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Books, Movies, Music]]></category>
		<category><![CDATA[harry shearer]]></category>
		<category><![CDATA[holiday sing along]]></category>
		<category><![CDATA[holiday sing-a-long]]></category>
		<category><![CDATA[Judith Owen]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[they might be giants]]></category>
		<category><![CDATA[tmbg]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11523/</guid>
		<description><![CDATA[
Harry Shearer and Judith Owen are performing their holiday sing-a-long at the concert hall at the Society for Ethical Culture in NYC with guests TMBG and others. It&#8217;s a go on Friday, but why can&#8217;t these things happen closer to me? Actually, maybe they should all come to Warren afterwards.
Harry Shearer, Judith Owen, holiday sing-a-long, [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11523"><!-- &nbsp; --></abbr>
<p><a href="http://www.harryshearer.com/">Harry Shearer</a> and <a href="http://www.judithowen.net/jo/active/news/news2.php">Judith Owen</a> are performing their <a href="http://www.judithowen.net/">holiday sing-a-long</a> at <a href="http://www.nysec.org/sitemap/rental-facilities/concert-hall/">the concert hall</a> at the <a href="http://www.nysec.org/">Society for Ethical Culture</a> in NYC with guests <a href="http://tmbg.com/">TMBG</a> and others. <a href="http://www.ticketmaster.com/event/00003D32F51AC032?artistid=1090766&amp;majorcatid=10001&amp;minorcatid=52">It&#8217;s a go on Friday</a>, but why can&#8217;t these things happen closer to me? Actually, maybe they should all come to Warren afterwards.</p>
<p><tags>Harry Shearer, Judith Owen, holiday sing-a-long, holiday sing along, show, performance, tmbg, they might be giants</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11523/wish-i-could-be-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Catching Bugs Before They Catch You</title>
		<link>http://maisonbisson.com/blog/post/11425/catching-bugs-before-they-catch-you/</link>
		<comments>http://maisonbisson.com/blog/post/11425/catching-bugs-before-they-catch-you/#comments</comments>
		<pubDate>Thu, 24 Aug 2006 00:47:29 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[queries]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[query failures]]></category>
		<category><![CDATA[wpopac]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11425/</guid>
		<description><![CDATA[

I got itchy about magic quotes the other day because it&#8217;s the cause (through a fairly long cascade of errors) of some performance problems and runaways I&#8217;ve been seeing lately (pictured above).
But I deserve most of the blame for allowing a query like this to run at all:

SELECT type, data, count(*) AS hits
	FROM wpopac_WPopac_bibs_atsk
	WHERE data [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11425"><!-- &nbsp; --></abbr>
<p><a href="http://www.flickr.com/photos/maisonbisson/222464852/" title="Photo Sharing"><img src="http://static.flickr.com/70/222464852_5756eebbb3.jpg" width="500" height="362" alt="top - crushed" /></a></p>
<p>I got <a href="http://maisonbisson.com/blog/post/11421/" title="Dang addslashes() And GPC Magic Quotes « MaisonBisson.com">itchy about magic quotes</a> the other day because it&#8217;s the cause (through a fairly long cascade of errors) of some <a href="http://www.flickr.com/photos/maisonbisson/222464852/">performance problems and runaways</a> I&#8217;ve been seeing lately (pictured above).</p>
<p>But I deserve most of the blame for allowing a query like this to run at all:</p>
<p><code>
<pre>SELECT type, data, count(*) AS hits
	FROM wpopac_WPopac_bibs_atsk
	<strong>WHERE data LIKE '%'</strong>
	AND type IN ('subjkey','author', 'title')
	GROUP BY data
	ORDER BY hits DESC
	LIMIT 7</pre>
<p></code></p>
<p>As executed, it&#8217;s trying to select all 1.2 million records from the table, group them (a hugely memory intensive activity with text), and then report only the top seven.</p>
<p>It&#8217;s one of a few queries that returns the <a href="http://www.plymouth.edu/library/opac/search/ambiant+findablity">alternate searches</a> in WPopac. I&#8217;m planning to rethink how that works, but I also should have built in a fail-safe to prevent it from trying to execute if the search variable is empty (the query above is written <code>WHERE data LIKE '$searchterms%'</code> or something like that). I&#8217;m amused that MySQL tries so hard to fulfill the search &#8212; so hard that it&#8217;ll consume all available RAM and swap to do so.</p>
<p>The sysadmin and DBA are now much happier &#8212; along with any user frustrated by poor performance &#8212; with this patched.</p>
<p><tags>bug, bugs, mysql, patch, performance, queries, query, query failures, wpopac</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11425/catching-bugs-before-they-catch-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Sun&#8217;s T2000 Up To It?</title>
		<link>http://maisonbisson.com/blog/post/11172/is-suns-t2000-up-to-it/</link>
		<comments>http://maisonbisson.com/blog/post/11172/is-suns-t2000-up-to-it/#comments</comments>
		<pubDate>Mon, 27 Feb 2006 01:28:57 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[8core]]></category>
		<category><![CDATA[9.6ghz]]></category>
		<category><![CDATA[big db]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[coolthreads]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[free server]]></category>
		<category><![CDATA[Jonathan Schwartz]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[sparc]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[t2000]]></category>
		<category><![CDATA[try and buy]]></category>
		<category><![CDATA[try-n-buy]]></category>
		<category><![CDATA[ultrasparc]]></category>
		<category><![CDATA[wpopac]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=11172</guid>
		<description><![CDATA[

Jonathan Schwartz made the kind of news that makes Slash Dotters happy: he announced Sun is (sort of) giving away free servers. It&#8217;s a promotion, a media play, of course, but one that might make a few lucky people very happy.
Here&#8217;s the deal: Sun is really proud of their new T2000 eight core server. Each [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11172"><!-- &nbsp; --></abbr>
<p><a href="http://www.flickr.com/photos/maisonbisson/104979200/"><img src="http://static.flickr.com/37/104979200_a4c823c556.jpg" width="500" height="227" style="border: solid 0px #000000; margin: 0px 0px 0px 0px; padding: 0px;" alt="Sun's T2000, is it up for the challenge?" /></a></p>
<p><a href="http://blogs.sun.com/jonathan">Jonathan Schwartz</a> made the kind of news that makes <a href="http://hardware.slashdot.org/article.pl?sid=06/02/24/0010221">Slash Dotters happy</a>: he announced Sun is (sort of) <a href="http://blogs.sun.com/roller/page/jonathan?entry=niagara_benchmarks">giving away free servers</a>. It&#8217;s a promotion, a media play, of course, but one that might make a few lucky people very happy.</p>
<p>Here&#8217;s the deal: Sun is really proud of their new <a href="http://www.sun.com/servers/coolthreads/t2000/">T2000 eight core server</a>. Each core runs at 1.2GHz, but they&#8217;re apparently applying some distributive power of multiplication and calling it an 9.6GHz machine and touting some <a href="http://www.spec.org/web2005/results/web2005.html">impressive performance benchmarks</a>. But rather than play the game of “our experts are better than your experts” against other vendors, they&#8217;ve extended a pretty generous <a href="https://www.sun.com/secure/servers/coolthreads/tnb/qualify.jsp">try and buy program</a> to users themselves. And, as Jonathan made noise in his blog post, a few people might get lucky enough to keep their machines.</p>
<p>So what&#8217;s my angle? <a href="http://maisonbisson.com/blog/post/11133/">WPopac</a> rocks, and performance is excellent with my <a href="http://www.plymouth.edu/library/opac/search/harry+potter">test corpus</a> (160,000 bib records) on even a lowly single-CPU server with only 1GB of RAM, despite the fact that each bib record is represented in both its composed form in the wp_posts table and as about 20 more rows per record in a separate table (yup, I&#8217;ve got almost 3 million rows representing every atomic detail of every bib record), and all of this is full-text indexed.</p>
<p>And I&#8217;m fully confident that when I put our entire catalog into WPopac, all 330,000 bib records (resulting in about 6.2 million atomic records), performance will still be up to the task. My math suggests everything should be ducky on a relatively budget server up beyond about 1 million bib records, but what happens for libraries that have more than that, say, perhaps 6 to 8 million bib records (again, 110 to 150 million atomic records; again, all <a href="http://maisonbisson.com/blog/post/10752/">full-text indexed in MySQL</a>)?</p>
<p>It would seem that WPopac&#8217;s combination of, um, large MySQL databases with high-volume Apache/PHP should be an ideal fit for the T2000&#8217;s big RAM space and support for high numbers of parallel threads. Jonathan claims the T2000 costs a modest $5,000 (but the <a href="http://store.sun.com/CMTemplate/CEServlet?process=SunStore&amp;cmdViewProduct_CP&amp;catid=141651">online store</a> shows a higher price?) and outperforms everything else, but is it up to WPopac? Do they want to try?</p>
<p>C&#8217;mon Sun, toss a T2000 <a href="http://www.plymouth.edu/library/">this way</a>, let&#8217;s see what happens? (Heck, I&#8217;ll even <a href="http://store.sun.com/CMTemplate/CEServlet?process=SunStore&amp;cmdViewProduct_CP&amp;catid=141650">try a T1000</a>.)</p>
<p><tags>sun, solaris, t2000, coolthreads, server, 9.6ghz, challenge, sparc, ultrasparc, 8core, free, wpopac, performance, big db, Jonathan Schwartz , try-n-buy, try and buy, free server</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11172/is-suns-t2000-up-to-it/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Avenue Q</title>
		<link>http://maisonbisson.com/blog/post/11069/avenue-q/</link>
		<comments>http://maisonbisson.com/blog/post/11069/avenue-q/#comments</comments>
		<pubDate>Sat, 31 Dec 2005 01:42:00 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Books, Movies, Music]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[avenue q]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[fuzz]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[kate monster]]></category>
		<category><![CDATA[las vegas]]></category>
		<category><![CDATA[las vegas nv]]></category>
		<category><![CDATA[monster]]></category>
		<category><![CDATA[muppet]]></category>
		<category><![CDATA[musical]]></category>
		<category><![CDATA[nevada]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[puppet show]]></category>
		<category><![CDATA[q]]></category>
		<category><![CDATA[sandee]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[theater]]></category>
		<category><![CDATA[vegas]]></category>
		<category><![CDATA[wynn]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=11069</guid>
		<description><![CDATA[

Steve Wynn could probably have had any show he wanted, but he chose Avenue Q, the Sesame Street and Muppets-inspired show that has to include a disclaimer denying its roots in the program and advertising. What the show&#8217;s creators don&#8217;t have to disclaim are the three Tony Awards the show won in 2004 for best [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11069"><!-- &nbsp; --></abbr>
<p><a href="http://www.flickr.com/photos/maisonbisson/79482215/"><img src="http://static.flickr.com/39/79482215_cba5d7fe99.jpg" alt="Sandee with Kate Monster of Avenue Q."  width="500" height="375" style="border: solid 0px #000000; margin: 0px 0px 0px 0px; padding: 0px;" /></a></p>
<p><a href="http://wynnlasvegas.com/">Steve Wynn</a> could probably have had any show he wanted, <a href="http://msnbc.msn.com/id/5191150/site/newsweek/">but he chose</a> <a href="http://www.avenueq.com/" title="Avenue Q on Broadway">Avenue Q</a>, the Sesame Street and Muppets-<a href="http://en.wikipedia.org/wiki/Avenue_Q#List_of_main_characters">inspired</a> show that has to include a disclaimer denying its roots in the program and advertising. What the show&#8217;s creators don&#8217;t have to disclaim are the three Tony Awards the show won in 2004 for best score, best book, and best musical.</p>
<p>Sandee bought the <a href="http://click.linksynergy.com/fs-bin/stat?id=XfFSogqWv7s&#038;offerid=78941&#038;type=3&#038;subid=0&#038;tmpid=1826&#038;RD_PARM1=http%253A%252F%252Fphobos.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewAlbum%253FplayListId%253D2899519%2526s%253D143441%26partnerId%3D30">cast recording</a> (also at <a href="http://www.amazon.com/exec/obidos/tg/detail/-/B0000BZK1R/maisonbisson-20/">Amazon</a>) because they&#8217;re the sort of tunes that get into your head&#8230;the sort of tunes you&#8217;ll find yourself humming days later. But that&#8217;s what you expect of a good musical &#8212; especially a hilariously funny one.</p>
<p>Above is Sandee with Kate Monster, the kindergarden teacher who dreams of opening a school for monsters. I believe the performer at left is the understudy, but I&#8217;ve lost the program and can&#8217;t begin to remember her name. Sorry<a href="http://maps.google.com/maps?q=las+vegas,+nv&#038;ll=36.126714,-115.165815&#038;spn=0.037014,.103065&#038;hl=en">.</a></p>
<p><tags>vegas, las vegas, nevada, las vegas nv, wynn, fuzz, avenue q, show, musical, kate monster, kate, monster, puppet, puppet show, sandee, q, muppet, musical, theater, performance, funny</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11069/avenue-q/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>