<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0">

    <channel>

        <title>Jeremy Keiper</title>
        <link>http://www.mountainleverage.com/blogs/jeremy-keiper</link>
        <description></description>

        <generator>basesyndication</generator>
        <!-- TODO
        <lastBuildDate>Mon, 30 Sep 2002 11:00:00 GMT</lastBuildDate>
        <copyright>Copyright 1997-2002 Dave Winer</copyright>
        <docs>http://backend.userland.com/rss</docs>
        <category domain="Syndic8">1765</category>
        <managingEditor>dave@userland.com</managingEditor>
        <webMaster>dave@userland.com</webMaster>
        -->

        <!-- TODO: Should there be an individual image associatable with each
        Weblog object?  I think so... -->
        <image>
            <title>Jeremy Keiper</title>
            <url>http://www.mountainleverage.com/logo.png</url>
            <link>http://www.mountainleverage.com/blogs/jeremy-keiper</link>
        </image>

        
            <item>
                <title>wordpress woes</title>
                <guid>http://www.mountainleverage.com/blogs/jeremy-keiper/2008/01/10/wordpress-woes</guid>
                <link>http://www.mountainleverage.com/blogs/jeremy-keiper/2008/01/10/wordpress-woes</link>
                <description>
&lt;p&gt;As a &lt;a class="external-link" href="http://www.python.org/"&gt;Python &lt;/a&gt;developer, I have spent very little time investigating &lt;a class="external-link" href="http://www.php.net/"&gt;PHP &lt;/a&gt;or any of the massive open source projects based on it (&lt;a class="external-link" href="http://drupal.org/"&gt;Drupal&lt;/a&gt;, &lt;a class="external-link" href="http://www.joomla.org/"&gt;Joomla&lt;/a&gt;, &lt;a class="external-link" href="http://www.oscommerce.com/"&gt;osCommerce&lt;/a&gt;, and specifically &lt;a class="external-link" href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;).&amp;nbsp; During a recent project involving very high concentrated traffic, I became fully aware of the power of PHP on my server's load.&lt;/p&gt;
&lt;p&gt;We created an out-of-the-box WordPress site running through &lt;a class="external-link" href="http://www.apache.org/"&gt;Apache&lt;/a&gt; and dumping data in &lt;a class="external-link" href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; on a dedicated linux box with 2 GB of RAM and dual duo-core CPUs at a &lt;a class="external-link" href="http://www.rackspace.com/"&gt;very reliable hosting company&lt;/a&gt;.&amp;nbsp; With a few plugins enabled, including &lt;a class="external-link" href="http://ocaoimh.ie/wp-super-cache/"&gt;WP Super Cache&lt;/a&gt;, our server was delivering fast pages and we saw very low load.&amp;nbsp; All this changed when the client directed users to try out the beta site, specifically a "live blog".&lt;/p&gt;
&lt;p&gt;Once we got our server rebooted and directed traffic to a static page, we realized that our combination of Apache, PHP and MySQL could not handle several thousands of hits per hour, including one hundred comments in fifteen minutes.&amp;nbsp; We did a lot of research and came up with a solution combining &lt;a class="external-link" href="http://varnish.projects.linpro.no/"&gt;Varnish&lt;/a&gt;, &lt;a class="external-link" href="http://xcache.lighttpd.net/"&gt;XCache&lt;/a&gt;, the use of another server for static files, and tweaks to Apache, WP Super Cache and MySQL configurations.&amp;nbsp; To simulate a tremendous amount of traffic, comment entries and post modifications, we developed tests using &lt;a class="external-link" href="http://jakarta.apache.org/jmeter/index.html"&gt;JMeter &lt;/a&gt;and ran them on three geographically disperse workstations.&amp;nbsp; The results were extremely helpful for identifying leaks and problems with various elements in the mix.&lt;/p&gt;
&lt;p&gt;The lessons learned in this feat of smashing an 800 pound gorilla into a pillbox:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;design your tests early&lt;/li&gt;&lt;li&gt;everyone appreciates a good cache&lt;/li&gt;&lt;li&gt;WordPress can and will be tamed&lt;/li&gt;&lt;li&gt;MySQL deserves its own special place in this world&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;
</description>
                <author>Jeremy Keiper</author>

                
                    <category>Apache</category>
                
                
                    <category>PHP</category>
                
                
                    <category>WordPress</category>
                
                
                    <category>JMeter</category>
                
                
                    <category>MySQL</category>
                

                <pubDate>Thu, 10 Jan 2008 12:45:55 -0600</pubDate>

                
            </item>
        

    </channel>
</rss>


