<?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>High performance web site building, server optimization &#187; Load balancing</title>
	<atom:link href="http://www.megaburst.com/category/load-balancing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.megaburst.com</link>
	<description>High performance web site building</description>
	<lastBuildDate>Sat, 15 May 2010 21:14:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Beacon probing uplink failover for Vmware Vsphere high availability</title>
		<link>http://www.megaburst.com/beacon-probing-uplink-failover-for-vmware-vsphere-high-availability/</link>
		<comments>http://www.megaburst.com/beacon-probing-uplink-failover-for-vmware-vsphere-high-availability/#comments</comments>
		<pubDate>Sat, 15 May 2010 21:02:29 +0000</pubDate>
		<dc:creator>Kai</dc:creator>
				<category><![CDATA[Failover]]></category>
		<category><![CDATA[Load balancing]]></category>
		<category><![CDATA[Vmware]]></category>

		<guid isPermaLink="false">http://www.megaburst.com/?p=149</guid>
		<description><![CDATA[In order to correctly use beacon fail-over probing for Vmware vSphere server network connectivity you need:

2 physical uplink switches in failover set-up;
3 physical uplinks in team per each vSwitch with beacon probing enabled;
2 of the uplinks (each going into different uplink switch) must be active and the third physical uplink should be set-up as a [...]]]></description>
			<content:encoded><![CDATA[<p>In order to correctly use beacon fail-over probing for Vmware vSphere server network connectivity you need:</p>
<ul>
<li>2 physical uplink switches in failover set-up;</li>
<li>3 physical uplinks in team per each vSwitch with beacon probing enabled;</li>
<li>2 of the uplinks (each going into different uplink switch) must be active and the third physical uplink should be set-up as a Standby adapter.</li>
</ul>
<p>Beacon probing also works if you are using Vlan trunks. The only difference is that in case of any uplink failure beacon probes will be sent to all vSwitch VLANs increasing traffic a little.</p>
<p><strong>Keep in mind:</strong></p>
<p>You cannot advertise one MAC address to different uplink physical switches or Network flapping may occur. Do not use Beacon probing Network failover detection if you are using IP Hash Load balancing. Use IP Hash load balancing only with Etherchannel.</p>
        <p><center>&copy; MegaBurst.com - visit the <a href="http://www.megaburst.com/">high performance</a> web site building blog.</center></p>      ]]></content:encoded>
			<wfw:commentRss>http://www.megaburst.com/beacon-probing-uplink-failover-for-vmware-vsphere-high-availability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digg effect vs Yahoo front page listing</title>
		<link>http://www.megaburst.com/digg-effect-vs-yahoo-front-page-listing/</link>
		<comments>http://www.megaburst.com/digg-effect-vs-yahoo-front-page-listing/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 08:47:02 +0000</pubDate>
		<dc:creator>Kai</dc:creator>
				<category><![CDATA[Load balancing]]></category>
		<category><![CDATA[Server performance]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.megaburst.com/?p=48</guid>
		<description><![CDATA[Many website owners are dreaming about hundreds of thousands of web visitors and thousands in ad profits, but will your web site handle the load and keep up the file serving? Probably not.
Digg frontpage listing usually sends 120.000  to 170.000 web visitors in two to three hours. It depends for how long you are listed [...]]]></description>
			<content:encoded><![CDATA[<p>Many website owners are dreaming about hundreds of thousands of web visitors and thousands in ad profits, but will your web site handle the load and keep up the file serving? Probably not.</p>
<p>Digg frontpage listing usually sends 120.000  to 170.000 web visitors in two to three hours. It depends for how long you are listed on Digg&#8217;s frontpage and what is the topic.  In over 95% of cases this will probably be too much for simple dedicated server &#8211; if you are hosting Wordpress blog with some plugins activated (that require some extra load) and without tuning the server box.</p>
<p>You can activate some caching plugins (wp-cache, wp-super-cache, 1blogcacher), configure more efficient content distribution (for example, use lightweight web daemon to serve static files), use less includes and optimize plugin code for performance. This will probably handle the Digg frontpage load.</p>
<p>What if you land Yahoo! frontpage listing? This will be a real challenge for your systems and system administrator. Yahoo! is very popular and if your site gets listed in frontpage they can easily &#8220;send you&#8221; a few million of web visitors. Once again, depends for how long the listing will stay on the front page. Yahoo! traffic burst will definitely make your web server unreachable and I am saying this with 99.9999% confidence. You need multiple servers to handle  the load and do load balancing, and of course have upstream bandwidth available to serve the content. You need to employ perfect caching architecture, preferable keeping the page 100% static and load it in the server memory for super fast serving to web visitors. If you read it from the hard drive &#8211; your servers will experience very high IO and load, thus slowing down web responses.</p>
<p>Last time when one of our client&#8217;s got listed on Yahoo! frontpage the site (actually a blog) got around ~900.000 unique visitor landings, over 200.000 visitors browsed site further reading other articles and comments.  The traffic burst from two web front-end servers serving the content was close to 195Mbps (2 x 100Mbps links were fully maxed out) and I am talking about serving HTML/PHP content, not the images from these servers.</p>
<p>This is why you need to plan architecture to be scalable (horizontally) and easily affordable. One server box will not make it even if you get top-notch mega box for 20k USD, period.</p>
        <p><center>&copy; MegaBurst.com - visit the <a href="http://www.megaburst.com/">high performance</a> web site building blog.</center></p>      ]]></content:encoded>
			<wfw:commentRss>http://www.megaburst.com/digg-effect-vs-yahoo-front-page-listing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wordpress benchmarks running on Nginx, Php, Apache and Fastcgi</title>
		<link>http://www.megaburst.com/wordpress-benchmarks-running-on-nginx-php-apache-and-fastcgi/</link>
		<comments>http://www.megaburst.com/wordpress-benchmarks-running-on-nginx-php-apache-and-fastcgi/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 16:37:16 +0000</pubDate>
		<dc:creator>Kai</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Load balancing]]></category>

		<guid isPermaLink="false">http://www.megaburst.com/?p=44</guid>
		<description><![CDATA[This weekend we had a chance to test out high-bandwidth Wordpress blog set-up configurations and performance. We had a customer that landed multiple Digg front page stories and we had to tune the server to deal with the high peak time traffic.
For best performance we usually deploy Nginx and tie it together with Apache as [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend we had a chance to test out high-bandwidth Wordpress blog set-up configurations and performance. We had a customer that landed multiple Digg front page stories and we had to tune the server to deal with the high peak time traffic.</p>
<p>For best performance we usually deploy Nginx and tie it together with Apache as a back-end for PHP processing, memcached, super cache and do a lot of rewriting rules and other optimizations.</p>
<p>The server is powered by one CPU Quad Core 5430 series processor, with 2GB RAM and SATA drives, runs on a SuperMicro server board. It&#8217;s a powerful box that can handle traffic well if correctly tuned and optimized.</p>
<p>We were running the latest Wordpress blog software with some custom rewrites done on the front end Nginx daemon (front end proxy). All static content was served by Nginx and all PHP queries were forwarded to Apache 2 version compiled from source as well as latest PHP 5.2.6 loaded as a module.</p>
<p>Nginx front end, Apache + PHP, Super Cache, some custom rewrite rules:<br />
Requests done: 1000, concurrency 30 threads</p>
<blockquote><p>Server Software:        nginx/0.7.11<br />
Server Hostname:        www.neatorama.com<br />
Server Port:            80</p>
<p>Document Path:          /<br />
Document Length:        300421 bytes</p>
<p>Concurrency Level:      30<br />
Time taken for tests:   0.691438 seconds<br />
Complete requests:      1000<br />
Failed requests:        0<br />
Write errors:           0<br />
Total transferred:      300687000 bytes<br />
HTML transferred:       300421000 bytes<br />
Requests per second:    1446.26 [#/sec] (mean)<br />
Time per request:       20.743 [ms] (mean)<br />
Time per request:       0.691 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          424678.70 [Kbytes/sec] received</p>
<p>Connection Times (ms)<br />
min  mean[+/-sd] median   max<br />
Connect:        0    0   0.3      0       3<br />
Processing:     4   20   6.1     19      41<br />
Waiting:        0   16   6.6     14      28<br />
Total:          4   20   6.2     19      41</p>
<p>Percentage of the requests served within a certain time (ms)<br />
50%     19<br />
66%     24<br />
75%     26<br />
80%     27<br />
90%     27<br />
95%     29<br />
98%     30<br />
99%     33<br />
100%     41 (longest request)</p></blockquote>
<p>Nginx + FastCGI, running spawn-fcgi from Lightspeed distribution with 30 child threads, all static content served by Nginx and PHP served by PHP 5.2.6 php-cgi version (custom compiled from the source of course).</p>
<blockquote><p>Server Software:        nginx/0.7.11<br />
Server Hostname:        www.*****.com<br />
Server Port:            80</p>
<p>Document Path:          /<br />
Document Length:        170281 bytes</p>
<p>Concurrency Level:      30<br />
Time taken for tests:   103.429538 seconds<br />
Complete requests:      1000<br />
Failed requests:        0<br />
Write errors:           0<br />
Non-2xx responses:      900<br />
Total transferred:      170518100 bytes<br />
HTML transferred:       170281000 bytes<br />
Requests per second:    9.67 [#/sec] (mean)<br />
Time per request:       3102.886 [ms] (mean)<br />
Time per request:       103.430 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          1609.99 [Kbytes/sec] received</p>
<p>Connection Times (ms)<br />
min  mean[+/-sd] median   max<br />
Connect:        0    0   0.1      0       1<br />
Processing:  1748 3076 492.0   3035    4844<br />
Waiting:      768 1673 370.9   1659    2948<br />
Total:       1748 3076 492.0   3035    4844</p>
<p>Percentage of the requests served within a certain time (ms)<br />
50%   3035<br />
66%   3248<br />
75%   3405<br />
80%   3496<br />
90%   3732<br />
95%   3943<br />
98%   4192<br />
99%   4398<br />
100%   4844 (longest request)</p></blockquote>
<p>As you can see Nginx + Apache, PHP, Super Cache was the clear winner &#8211; no questions asked.</p>
<p>Conclusion: we will stick with Nginx as a front-end proxy serving all static content while PHP processing forwarded to Apache web server running on the same server (using <em>worker</em>), running Super Cache and doing as much rewrites and file checking using Nginx for best performance. Apache is a big resource hog, however, our tests show it still outperforms running PHP scripts via FastCGI.</p>
<p>I would like to note that running PHP as a FastCGI required slightly lower memory usage, however the CPU load shoot up and I was not sure if we could handle Digg traffic that easily. Enjoy!</p>
        <p><center>&copy; MegaBurst.com - visit the <a href="http://www.megaburst.com/">high performance</a> web site building blog.</center></p>      ]]></content:encoded>
			<wfw:commentRss>http://www.megaburst.com/wordpress-benchmarks-running-on-nginx-php-apache-and-fastcgi/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using IPv4 anycast for load balancing</title>
		<link>http://www.megaburst.com/using-ipv4-anycast-for-load-balancing/</link>
		<comments>http://www.megaburst.com/using-ipv4-anycast-for-load-balancing/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 15:49:16 +0000</pubDate>
		<dc:creator>Kai</dc:creator>
				<category><![CDATA[Load balancing]]></category>

		<guid isPermaLink="false">http://www.megaburst.com/load-balancing/using-ipv4-anycast-for-load-balancing/</guid>
		<description><![CDATA[IPv4 anycast is actually a very old technique, and it works as follows. One set of address space is announced in multiple physical locations using BGP. All data sent to this IP address block will travel to the &#8220;nearest&#8221; location BGP hop-wise, because the router will do BGP balancing and choose the path that has [...]]]></description>
			<content:encoded><![CDATA[<p>IPv4 anycast is actually a very old technique, and it works as follows. One set of address space is announced in multiple physical locations using BGP. All data sent to this IP address block will travel to the &#8220;nearest&#8221; location BGP hop-wise, because the router will do BGP balancing and choose the path that has the shortest BGP ASN hops in it.</p>
<p>This works pretty well for stateless UDP-related services  &#8211; for example, DNS UDP-based load balancing and distribution. This is what first-class providers such as Neustar Ultra Services (former UltraDNS), CriticalDNS and many root TLD operators use to offer first-class DNS services.</p>
<p><strong>Many ISPs will block any route announcements that are smaller than /24. </strong></p>
        <p><center>&copy; MegaBurst.com - visit the <a href="http://www.megaburst.com/">high performance</a> web site building blog.</center></p>      ]]></content:encoded>
			<wfw:commentRss>http://www.megaburst.com/using-ipv4-anycast-for-load-balancing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Nginx performance testing</title>
		<link>http://www.megaburst.com/nginx-performance-testing/</link>
		<comments>http://www.megaburst.com/nginx-performance-testing/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 22:58:03 +0000</pubDate>
		<dc:creator>Kai</dc:creator>
				<category><![CDATA[Load balancing]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[Failover]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.megaburst.com/load-balancing/nginx-performance-testing/</guid>
		<description><![CDATA[The other day I spoke with my friend who runs Nginx powered large scale site doing load balancing using 3 back-end boxes for file downloads. The performance looks amazing and I am sure we will set-up the test environment and do some real balancing tests.
We are currently preparing setting up our Linux based servers with [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I spoke with my friend who runs Nginx powered large scale site doing load balancing using 3 back-end boxes for file downloads. The performance looks amazing and I am sure we will set-up the test environment and do some real balancing tests.</p>
<p>We are currently preparing setting up our Linux based servers with 1Gbps connectivity/switching and tests with real results will follow shortly.</p>
        <p><center>&copy; MegaBurst.com - visit the <a href="http://www.megaburst.com/">high performance</a> web site building blog.</center></p>      ]]></content:encoded>
			<wfw:commentRss>http://www.megaburst.com/nginx-performance-testing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
