<?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>NearlyFreeSpeech.NET Blog &#187; Beta</title>
	<atom:link href="http://blog.nearlyfreespeech.net/category/beta/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nearlyfreespeech.net</link>
	<description>A blog from the staff at NearlyFreeSpeech.NET.</description>
	<lastBuildDate>Mon, 15 Mar 2010 04:59:01 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MySQL FreeBSD 7 ZFS Beta update &amp; MySQL upgrades</title>
		<link>http://blog.nearlyfreespeech.net/2008/09/29/mysql-freebsd-7-zfs-beta-update-mysql-upgrades/</link>
		<comments>http://blog.nearlyfreespeech.net/2008/09/29/mysql-freebsd-7-zfs-beta-update-mysql-upgrades/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 05:28:20 +0000</pubDate>
		<dc:creator>jdw</dc:creator>
				<category><![CDATA[Beta]]></category>
		<category><![CDATA[News & Announcements]]></category>
		<category><![CDATA[Updates & Upgrades]]></category>

		<guid isPermaLink="false">http://blog.nearlyfreespeech.net/?p=58</guid>
		<description><![CDATA[Some time ago, we announced a beta test of MySQL running on FreeBSD 7 using the experimental ZFS filesystem.  We&#8217;ve now concluded that beta test, and I wanted to let you know the results.
Here&#8217;s the executive summary: FreeBSD 7 is, by and large, great for us and we will be aggressively deploying it throughout [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago, we announced <a href="http://blog.nearlyfreespeech.net/2008/05/12/experimental-freebsd-7-zfs-mysql-technology-trial/">a beta test of MySQL running on FreeBSD 7 using the experimental ZFS filesystem</a>.  We&#8217;ve now concluded that beta test, and I wanted to let you know the results.</p>
<p>Here&#8217;s the executive summary: FreeBSD 7 is, by and large, great for us and we will be aggressively deploying it throughout our network in the near future.  ZFS is also great, but while it definitely has a future on our network someday, this is not that day.<br />
<span id="more-58"></span><br />
FreeBSD 7 offers significant benefits for SMP scalability, which is pretty important to us since most MySQL processes and member sites run on eight-core servers.  The performance benefits on MySQL are very real, particularly on CPU-intensive workloads (which tend to be common if your tables are indexed properly).  The performance benefits for member sites are less pronounced for some pretty complicated reasons, but they&#8217;re still there and they&#8217;re still worth pursuing.</p>
<p>ZFS is a really neat technology.  By and large, it works pretty well.  It&#8217;s not a great match for a MySQL server, though, since it seems to want a lot of CPU and RAM at the same time MySQL wants lots of CPU and RAM, because it works hard when asked for data and MySQL asks for data when it&#8217;s working hard.  Thus, we noticed a little bit of contention and we were concerned about what would happen in low memory conditions, such as if a bunch of MySQL processes happened to surge busily at once.  ZFS seems best suited to sticking on super-tightly controlled file servers that have gigs of RAM free and don&#8217;t  do anything else.  Even so, we&#8217;re not 100% sold on its stability, so we&#8217;ll revisit it sometime in the future and do further testing before we start loading it up on mission-critical file servers.</p>
<p>All of our MySQL FreeBSD 7 ZFS beta volunteers have been migrated to production FreeBSD 7 (non-ZFS) MySQL servers.  They&#8217;re just the vanguard, though; we will be aggressively upgrading almost all member MySQL processes over the next few days.  </p>
<p>The actual process is a bit complicated, but here are the essentials: we&#8217;ve brought some new hardware online running the target environment (FreeBSD 7, MySQL 5.0.67).  Call that &#8220;Server A.&#8221;  We&#8217;ve moved all the MySQL processes from Server B (one of the older ones) onto server A.  Then, we reinstall Server B.  Then we move everyone on Server C to Server B and reinstall server C.  And so on, down the line.  </p>
<p>The upgrade requires no action on your part and entails MySQL downtime averaging less than five minutes; a significant percentage of our MySQL-using members will notice only one to two minutes of disruption, if they notice it at all.  Even so, we&#8217;re limiting it to low-usage periods (certain times during weekends, late nights, and early mornings).  Due to the number of processes being upgraded and our need to schedule upgrades based on specific server assignments, we will not be able to coordinate individual process upgrades.</p>
<p>We do still have some longtime members hanging around on MySQL 4.1 running on FreeBSD 4.  Since MySQL 4.1 to MySQL 5.0 isn&#8217;t always a seamless migration, we&#8217;ll be contacting those affected to let them know their situation and try to coordinate their journey out of the stone age before we do anything there.</p>
<p>If you want to see what version of FreeBSD or MySQL is powering your MySQL process, you can use the SQL command &#8220;SHOW GLOBAL VARIABLES&#8221; and look at the &#8220;version&#8221; and &#8220;version_compile_os&#8221; variables, or access them in queries as &#8220;SELECT @@version&#8221; or &#8220;SELECT @@version_compile_os.&#8221;  The former shows the MySQL server version (which is also displayed in phpMyAdmin and by the MySQL command line client), and the latter shows the OS version: &#8220;portbld-freebsd6.3&#8243; for FreeBSD 6.3 and &#8220;portbld-freebsd7.0&#8243; for FreeBSD 7.0.</p>
<p>We also have a significant RAM and CPU power upgrade planned for MySQL once this upgrade is complete.  That will require a brief off-hours downtime for some MySQL processes, which we will schedule and announce at a future time.</p>
<p>Finally, though MySQL processes will never be able to flit around our network the way web requests do, we are taking baby steps in the direction of SAN-based MySQL storage in order to decrease the lock-tight correlation between MySQL processes and specific frontend hardware.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nearlyfreespeech.net/2008/09/29/mysql-freebsd-7-zfs-beta-update-mysql-upgrades/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Experimental FreeBSD 7 + ZFS + MySQL technology trial</title>
		<link>http://blog.nearlyfreespeech.net/2008/05/12/experimental-freebsd-7-zfs-mysql-technology-trial/</link>
		<comments>http://blog.nearlyfreespeech.net/2008/05/12/experimental-freebsd-7-zfs-mysql-technology-trial/#comments</comments>
		<pubDate>Mon, 12 May 2008 17:40:07 +0000</pubDate>
		<dc:creator>jdw</dc:creator>
				<category><![CDATA[Beta]]></category>
		<category><![CDATA[News & Announcements]]></category>

		<guid isPermaLink="false">http://blog.nearlyfreespeech.net/?p=45</guid>
		<description><![CDATA[For most of our production servers, we run FreeBSD 6.3, which is a well-tested, stable, and excellent-performing release.  However, the FreeBSD world moves on and FreeBSD 7.0 was released earlier this year.  The primary benefit to the new version is supposed to be vastly improved performance, ranging from 350% to 1500% faster, under [...]]]></description>
			<content:encoded><![CDATA[<p>For most of our production servers, we run FreeBSD 6.3, which is a well-tested, stable, and excellent-performing release.  However, the FreeBSD world moves on and <a href="http://www.freebsd.org/releases/7.0R/announce.html">FreeBSD 7.0</a> was released earlier this year.  The primary benefit to the new version is supposed to be vastly improved performance, ranging from 350% to 1500% faster, under heavy workloads.</p>
<p>Hey, <em>we</em> have some heavy workloads&#8230;<br />
<span id="more-45"></span><br />
However, as longtime members may know, when confronted with a choice between stability and performance, we tend to choose stability.  In fact, that preference led us to skip FreeBSD 5 entirely while the FreeBSD team tirelessly worked out the changes needed to support modern SMP hardware.  (I look back to the FreeBSD 4 days when we had to use single-core systems and I whimper.)</p>
<p>Another flagship technology in FreeBSD 7 is <a href="http://en.wikipedia.org/wiki/ZFS">ZFS</a>.  The primary benefits of ZFS wouldn&#8217;t accrue directly to our members (although it might provide the underpinnings for some neat stuff), but rather it would make <em>our</em> lives a lot easier.  The problem with that is that there&#8217;s some debate on whether or not ZFS is ready for prime-time usage.  So far, it&#8217;s tested pretty well and we&#8217;ve done some fairly abusive things to it.</p>
<p>Even so, odds are that FreeBSD 7.0 will never see production in our web cluster; we will most likely give serious consideration to 7.1 or 7.2, depending on the results of our internal testing.  That internal testing is (and has been) underway, and we&#8217;d like to offer the adventurous a chance to participate.</p>
<p>Putting FreeBSD 7.0 into our web cluster isn&#8217;t really a good option, because it would entail building FreeBSD 7 versions of a couple thousand software packages, CPAN modules, python eggs, and etc, and might cause problems for custom-built CGI binaries.  Instead, we feel that heavy MySQL usage is most likely to show the benefits of improved SMP code in a controlled software environment.</p>
<p>Thus we have set up an experimental MySQL server running MySQL 5.0.51a on FreeBSD 7 with a ZFS filesystem.  If you would like your MySQL process moved to this experimental server, please submit a <a href="https://members.nearlyfreespeech.net/support/request">secure support request</a> indicating the name of your MySQL process.  Migrating MySQL between servers is very fast, but it takes about 10 minutes for a moved process&#8217;s new IP address to propagate through our network.</p>
<p>The trade-offs should look like this:</p>
<ul>
<li>Your MySQL process will probably be a lot faster, especially if it&#8217;s busy.</li>
<li>There might be an increased chance of MySQL downtime due to instability.</li>
</ul>
<p>Naturally we won&#8217;t let stability issues get out of hand on that server.  If ZFS presents a problem, we&#8217;ll blow it away and try FreeBSD 7 under UFS2, and if that&#8217;s also unstable, we&#8217;ll kill the test and try again at 7.1.  We&#8217;d also move anyone back out of the test who encountered problems on request.</p>
<p>Give it some thought.  If your MySQL process is not mission-critical and you&#8217;re interested in helping us plan the next generation of NearlyFreeSpeech.NET servers, please <a href="https://members.nearlyfreespeech.net/support/request">drop us a line</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nearlyfreespeech.net/2008/05/12/experimental-freebsd-7-zfs-mysql-technology-trial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Update: Five, finally: fast and flexible!</title>
		<link>http://blog.nearlyfreespeech.net/2007/12/27/php-update-five-finally-fast-and-flexible/</link>
		<comments>http://blog.nearlyfreespeech.net/2007/12/27/php-update-five-finally-fast-and-flexible/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 02:59:35 +0000</pubDate>
		<dc:creator>jdw</dc:creator>
				<category><![CDATA[Beta]]></category>
		<category><![CDATA[News & Announcements]]></category>
		<category><![CDATA[Updates & Upgrades]]></category>

		<guid isPermaLink="false">http://blog.nearlyfreespeech.net/2007/12/27/php-update-five-finally-fast-and-flexible/</guid>
		<description><![CDATA[As many of our members know, we&#8217;ve been beta-testing PHP 5 for a really long time.  The PHP 5 Beta is now over; PHP 5 has become the default for new sites created on our service.

This represents the culmination of a mountain of work on our part; in order to make PHP 5 work [...]]]></description>
			<content:encoded><![CDATA[<p>As many of our members know, we&#8217;ve been beta-testing PHP 5 for a <em>really</em> long time.  The PHP 5 Beta is now over; PHP 5 has become the default for new sites created on our service.<br />
<span id="more-36"></span><br />
This represents the culmination of a mountain of work on our part; in order to make PHP 5 work for you, we&#8217;ve had to retool the backend of our clustering technology to support heterogenous software environments.  That&#8217;s going to have all kinds of cool benefits in upcoming days, well beyond its implications for PHP.</p>
<p>If you&#8217;re currently running PHP 4 and you&#8217;re happy with it, don&#8217;t worry.  We&#8217;re not planning to do anything drastic to you at this time, and we&#8217;ll continue to support PHP 4 as long as the developers do.</p>
<p>As part of the PHP 5 beta, we&#8217;ve also unified the versions of PHP 4 and PHP 5 that appear in the ssh environment, and we&#8217;ve updated the environment to detect which version your site uses and put it first in your default PATH variable.  Concurrent with the update, the  /usr/local/bin/php link has been switched from PHP 4 to PHP 5, but since the &#8220;php&#8221; you get when you type &#8220;php&#8221; will come straight from the version-specific directory appropriate for your site, that shouldn&#8217;t have much effect.</p>
<p>In case you haven&#8217;t been following the <a href="https://members.nearlyfreespeech.net/forums/viewtopic.php?t=1262">long-running PHP 5 Beta forum thread</a>, you may not be aware that you can switch back and forth between server types on the fly, usually without downtime.  (It&#8217;s remotely possible that someone else could trigger a second update right after you, which would cause your site to display &#8220;Unknown Site&#8221; for a minute or so after switching from PHP 4 to PHP 5 or vice-versa.)  To switch PHP versions, all you have to do is click &#8220;Change Server Type&#8221; on the Site Information panel for your site in our member interface, select the radio button for the site type you want, click &#8220;Save Changes,&#8221; and wait around for a minute or so.</p>
<p>But, hmm, what&#8217;s this?  There seem to be <strong>two</strong> PHP 5 server types listed on that page&#8230; &#8220;PHP 5 Fast&#8221; and &#8220;PHP 5 Flex (Beta).&#8221;  What&#8217;s that all about?</p>
<p>Well, we just loved having PHP 5 in beta <em>so much</em> that we couldn&#8217;t let it go!  OK, not really.  Have a look at <a href="http://php5flex.nfshost.com/phpinfo.php">PHP 5 Flex phpinfo() output</a> compared to <a href="http://example5.nfshost.com/phpinfo">PHP 5 Fast phpinfo() output</a>.  Spot any important differences?  </p>
<p>PHP 5 Flex is a new implementation of PHP that runs inside our customized CGI environment.  This means we can do fun stuff like turn off safe_mode and open_basedir.  That&#8217;s right: you can now get non-safe_mode PHP at NearlyFreeSpeech.NET.  Now, this has always been sort-of possible if you were willing to mess around with .htaccess, make all your PHP scripts executable and hack #!/usr/local/bin/php lines into them at the top, but when you do that, you&#8217;re running the command line version of PHP, so weird stuff sometimes happens.  PHP 5 Flex, on the other hand, runs the specialized CGI version of PHP based on the same configuration we used for standard PHP 5, and it runs standard .php files unmodified.  You don&#8217;t even need to make the PHP scripts executable; it just works.  It also uses all the same /home-based paths you&#8217;re familiar with from the ssh command line and CGI, like /home/public.</p>
<p>So why would you ever <em>not</em> want that?  Well, the answer lies in the name of the alternative, PHP 5 Fast.  PHP 5 Fast is based on mod_php5, which runs <em>significantly</em> faster than CGI-based PHP: often three to five times faster, especially when handling lots of small requests.  If you don&#8217;t <em>need</em> safe_mode off to get compatibility with some strange third-party application, there&#8217;s no need to take the speed hit associated with virtualizing every request.  That&#8217;s why the new PHP default is PHP 5 Fast and why we recommend leaving it as-is unless you have a good reason to change it.  PHP 5 Flex is also beta; there may be a few problems to kick around.  If you try it and find them, let us know via the forums or support requests.</p>
<p>So that&#8217;s our big PHP 5 update.  It&#8217;s been a long time coming and a lot of work; we hope you enjoy it!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nearlyfreespeech.net/2007/12/27/php-update-five-finally-fast-and-flexible/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>A lot faster for a lot less money? Who wants that?</title>
		<link>http://blog.nearlyfreespeech.net/2007/02/23/a-lot-faster-for-a-lot-less-money-who-would-want-that/</link>
		<comments>http://blog.nearlyfreespeech.net/2007/02/23/a-lot-faster-for-a-lot-less-money-who-would-want-that/#comments</comments>
		<pubDate>Fri, 23 Feb 2007 22:21:31 +0000</pubDate>
		<dc:creator>jdw</dc:creator>
				<category><![CDATA[Beta]]></category>
		<category><![CDATA[Updates & Upgrades]]></category>

		<guid isPermaLink="false">http://blog.nearlyfreespeech.net/2007/02/23/a-lot-faster-for-a-lot-less-money-who-would-want-that/</guid>
		<description><![CDATA[We are now officially soliciting beta testers for our new high-capacity high-volume service for static content.  It has just gone live and it is not just fast, it is insanely fast.  We&#8217;re talking ludicrous speed here, people!  An experimental download was just clocked at 43 megabytes per second, but real-world downloads will [...]]]></description>
			<content:encoded><![CDATA[<p>We are now officially soliciting beta testers for our new high-capacity high-volume service for static content.  It has just gone live and it is not just fast, it is insanely fast.  We&#8217;re talking <i>ludicrous speed</i> here, people!  An experimental download was just clocked at 43 megabytes per second, but real-world downloads will probably be constrained by the size of off-network pipes.<br />
<span id="more-24"></span><br />
Final pricing for this service has not been established, but it will be available for a small flat daily fee and with a <i>massive</i> discount over our current per-gigabyte pricing.</p>
<p>If you are a current member and you have large, static content like music, videos, or file downloads, and you use 10+ GB of bandwidth per month, you are eligible for this beta.  Submit a secure support request for more information.  (You&#8217;re also eligible if you use less bandwidth, but since the service is highly optimized for bulk use, so is the pricing, meaning it may increase your costs rather than decrease them.  Even so, you&#8217;d still enjoy the massive speed boost.)</p>
<p>Dynamic content (PHP, CGI, etc.) is <i>not</i> eligible for this new service.  However, if you can segregate your static content into a subdirectory, one site can use both services at the same time!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nearlyfreespeech.net/2007/02/23/a-lot-faster-for-a-lot-less-money-who-would-want-that/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>API New Year!</title>
		<link>http://blog.nearlyfreespeech.net/2007/01/02/api-new-year/</link>
		<comments>http://blog.nearlyfreespeech.net/2007/01/02/api-new-year/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 05:03:43 +0000</pubDate>
		<dc:creator>jdw</dc:creator>
				<category><![CDATA[Beta]]></category>
		<category><![CDATA[Updates & Upgrades]]></category>

		<guid isPermaLink="false">http://blog.nearlyfreespeech.net/2007/01/02/api-new-year/</guid>
		<description><![CDATA[To help ring in the new year, we&#8217;ve been hard at work on a major new requested feature. (Well, several actually, but one at a time&#8230;.)
We are pleased to announce that the NearlyFreeSpeech.NET API is about to enter beta.  What is the NearlyFreespeech.NET API? In a nutshell, it&#8217;s a way to control your hosting [...]]]></description>
			<content:encoded><![CDATA[<p>To help ring in the new year, we&#8217;ve been hard at work on a major new requested feature. (Well, several actually, but one at a time&#8230;.)</p>
<p>We are pleased to announce that the NearlyFreeSpeech.NET API is about to enter beta.  What is the NearlyFreespeech.NET API? In a nutshell, it&#8217;s a way to control your hosting services from a program or script.<br />
<span id="more-19"></span><br />
The API platform we&#8217;ve created is fairly robust and very easy to use.  (Here&#8217;s a shocker: it&#8217;s a web-based!)  But since we&#8217;re just getting started with this, the functionality currently available is somewhat limited. However, the four most requested API functions are supported: adding and removing site aliases and email forwarding addresses.  </p>
<p>We&#8217;ll add more functionality based on demand.  Over time, we&#8217;ll also be migrating our own user interface to use the API, so someday it should be possible to use it to do pretty much anything you can do from our site, and plenty of things you can&#8217;t! (But don&#8217;t hold your breath waiting for a &#8220;increase account balance&#8221; API call. <img src='http://blog.nearlyfreespeech.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<p>While we get this up to speed, beta space will be <em>very</em> limited, so if you want to try it out, drop us a Secure Support Request asking for your API key. You can access the API directly from the CGI or programming language of your choice, or use an example PHP class library that we&#8217;ve developed.</p>
<p>There&#8217;s also a documentation experiment attached to this. To document the API, we&#8217;ve created our first Wiki. We have a mountain of technical information about our service that we need to communicate to our members, and we know we need to find a better way to do that than our dauntingly-large FAQ.  However, putting information out there in the form of a world-writable Wiki is a bit nerve-wracking, so we&#8217;re giving it a try with a special Wiki for the API.  Check it out <a href="https://api.nearlyfreespeech.net/">here</a>. We&#8217;ll see how that goes.</p>
<p><strong>Note:</strong> We are using a self-signed certificate for the api.nearlyfreespeech.net SSL site, because there are some license issues for us to explore with using a single SSL certificate on multiple servers. This means you&#8217;ll need to accept a certificate certified by an unknown authority (that&#8217;s us) to see the API site. A future version of the PHP library will include the NFSN CA certificate and use it to verify that you&#8217;re talking to the real API, but we don&#8217;t recommend importing it into your browser or anything.</p>
<p>As always, your feedback is welcomed and encouraged!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nearlyfreespeech.net/2007/01/02/api-new-year/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
