<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4716142426853572952</id><updated>2011-09-28T12:55:38.725-07:00</updated><title type='text'>The CapCal Blog</title><subtitle type='html'>CapCal self-service, on-demand scalability and performance testing from the Cloud.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>83</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5213152340046202622</id><published>2011-07-29T11:43:00.000-07:00</published><updated>2011-07-29T12:22:24.225-07:00</updated><title type='text'>Why Static Content is Just So Much Static</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-1HDxlGSl6Bo/TjL_1wVArxI/AAAAAAAAAaU/-qQaq231xA8/s1600/television_static.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-1HDxlGSl6Bo/TjL_1wVArxI/AAAAAAAAAaU/-qQaq231xA8/s320/television_static.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;If you don’t know what the term “static content” is, it refers to any content that doesn’t change (like images, SWF files, media files, CSS files, script files, etc).&amp;nbsp; The average web page contains dozens to links to static content, while only the HTML contains the data the user is typically interested in.&amp;nbsp; This has an enormous impact on load testing for reasons this blog post will address.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;As you probably know, static content is usually cached on your local machine the first time you see a page and stays there unless it changes.&amp;nbsp; This is why the first time you go to a site it takes longer to load than subsequent times and is a huge design consideration for serving up complex pages quickly for return visits.&amp;nbsp; Furthermore, since the advent of CDN (content delivery networks) like Akamai, the static content gets delivered to user from a server closest to them, reducing even further the time it takes to arrive at your desktop.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;But even if you don’t use a CDN but host the content on your own servers, the data is cached in the sever memory the first time it is accessed so future accesses require almost no processing overhead on the server’s part – filling up the pipe is all it takes and that is minimal in terms of CPU time.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;So the question is, what are the pros and what are the cons of including static content in a load test?&amp;nbsp; I think you’ll see that the list of cons is fairly long and the list of pros is…well, almost non-existent!&amp;nbsp; (Unless you want to test your bandwidth, in which case you can just choose the largest content file you have and just hit that with as many users as you can).&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Besides filling up the test and its results with dozens of URLs that make them difficult to read and interpret, the test is not very realistic unless you assume that all your users are first time visitors.&amp;nbsp; Even then, it’s the speed of the real end user’s connection that will really determine how fast the page loads and if you have a way to control that then you should patent it at once!&amp;nbsp; Seriously, though, the amount of static content and its size has always been a design consideration for web developers and the trade-offs are well known.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Most importantly, however, it’s the dynamic content that most determines the performance of a web application and that is where the “rubber meets the road”.&amp;nbsp; You have no control over static content other than eliminating it, reducing its size or increasing your network bandwidth.&amp;nbsp; You do have control over dynamic content, however, and that’s where most bottlenecks occur (most often with database operations).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;So the art of web site performance improvement often boils down to database performance, load balancing and application code design.&amp;nbsp; For that, it’s best to eliminate all static content and focus entirely on what is making the real demands on your server.&amp;nbsp; Otherwise you may end up with a load test that requires many times the number of load agents than it would otherwise require, which adds cost that would otherwise be spent on improving performance on the back end!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5213152340046202622?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5213152340046202622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2011/07/why-static-content-is-just-so-much.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5213152340046202622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5213152340046202622'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2011/07/why-static-content-is-just-so-much.html' title='Why Static Content is Just So Much Static'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-1HDxlGSl6Bo/TjL_1wVArxI/AAAAAAAAAaU/-qQaq231xA8/s72-c/television_static.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7598496129727486961</id><published>2011-05-24T11:50:00.000-07:00</published><updated>2011-07-06T07:26:40.420-07:00</updated><title type='text'>Cloub Lab Grid Automation Comes to EC2 and IBM Smart Cloud</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-w8H21ktUhz0/TdwAk7HkxfI/AAAAAAAAAaA/Uwhon2qNwR8/s1600/CloudLabGrid.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-w8H21ktUhz0/TdwAk7HkxfI/AAAAAAAAAaA/Uwhon2qNwR8/s320/CloudLabGrid.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt;"&gt;&lt;i&gt;Stare at this a few secs and watch it shimmer&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;Everybody remembers when the concept of grid computing  first became popular &amp;nbsp;It was the early 2000’s when projects like seti@home and  the Human Gnome Project harnessed the power of thousands of computers to work on  complex problems&amp;nbsp; A grid can also be constructed on the LAN, and in fact a  private cloud is really just that.&amp;nbsp; But there was another concept that emerged  at the same time called “peer-to-peer”, immortalized by the short-lived Napster  project (which was file-sharing only) and made smashingly successful by Skype  with its collaborative peer-to-peer model. Both grid computing and collaborative  peer-to-peer have found their way into a new cloud-based platform called Cloud  Lab Grid Automation.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt;"&gt;With Cloud Lab Grid Automation, one person can spin up a  “test execution grid” that can execute one test in a tenth of the time or ten  times the number of tests in the same amount of time using just 10 instances.&amp;nbsp;  Any data-driven functional test, regardless of the tool being used, can be  executed in parallel like this the same way a large problem like the Human  Genome Project was divided between many computers.&amp;nbsp; This same test execution  grid can also accomplish what was never really possible before, which is  performance testing of thick client applications (Java SWING, .NET, etc).&amp;nbsp;  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-TYf7SS5tWPk/TdwxYTQSm8I/AAAAAAAAAaE/8xlr3B9Dm3Q/s1600/100instances.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="263" src="http://4.bp.blogspot.com/-TYf7SS5tWPk/TdwxYTQSm8I/AAAAAAAAAaE/8xlr3B9Dm3Q/s320/100instances.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt;"&gt;100 Instances running the same test with different data&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt;"&gt;OK, that explains the grid computing part but what about  peer-to-peer?&amp;nbsp; The Cloud Lab Browser session can be shared with as many people  as required, just by passing them a link and a code.&amp;nbsp; The built in chat window  shows who is online and logs the conversation while any participant with the  proper access level can use any machines in the grid that are not being used.&amp;nbsp;  Since this grid is for execution of tests and not development, rarely does  anybody need to establish a direct RDP session – the Cloud Lab commands allow  all the usual things to be done, like starting tests, stopping tests, copying  tests, test data and test results back and forth,  etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-w0Hdpy3PTaA/TdwyBI7PhdI/AAAAAAAAAaI/lPwhRLd2cW4/s1600/cloudlab-chat.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="294" src="http://1.bp.blogspot.com/-w0Hdpy3PTaA/TdwyBI7PhdI/AAAAAAAAAaI/lPwhRLd2cW4/s320/cloudlab-chat.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&lt;i&gt;A Grid with Nine Instances Being Shared Remotely By a Team of Six &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;Cloud Lab Grid Automation combines two time-tested and  successful paradigms and brings them together on the &amp;nbsp;Cloud to deliver phenomenal testing productivity today.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7598496129727486961?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7598496129727486961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2011/05/cloub-lab-grid-testing-available-now-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7598496129727486961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7598496129727486961'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2011/05/cloub-lab-grid-testing-available-now-on.html' title='Cloub Lab Grid Automation Comes to EC2 and IBM Smart Cloud'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-w8H21ktUhz0/TdwAk7HkxfI/AAAAAAAAAaA/Uwhon2qNwR8/s72-c/CloudLabGrid.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-4768136117599707481</id><published>2011-05-17T21:57:00.000-07:00</published><updated>2011-05-18T10:23:57.301-07:00</updated><title type='text'>Level Three Software Installation Nirvana</title><content type='html'>&lt;div class="MsoNormal" style="text-align: center;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;a href="http://2.bp.blogspot.com/-YG4wozBDc0k/TdNRrbHf_PI/AAAAAAAAAZ4/o6Jdi-VVGa0/s1600/the_yogi_attains_siddhi_op89.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-YG4wozBDc0k/TdNRrbHf_PI/AAAAAAAAAZ4/o6Jdi-VVGa0/s200/the_yogi_attains_siddhi_op89.jpg" width="146" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://2.bp.blogspot.com/-YG4wozBDc0k/TdNRrbHf_PI/AAAAAAAAAZ4/o6Jdi-VVGa0/s1600/the_yogi_attains_siddhi_op89.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/span&gt;In the beginning was the floppy disk and all was well with the world. No software was ever installed that did not come from a floppy, even if it took 30 disks that required manual changing.&amp;nbsp; Some of those people had used paper punches and teletypes before and they never missed a chance to tell you about it!&amp;nbsp; So a floppy was “high speed data transfer” to them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Then came the CD-ROM, a single disk to store dozens if not hundreds of floppies and for a time, Software Installation Nirvana was achieved by all.&amp;nbsp; With all the extra space, software became more and more bloated but hard drives were growing at a faster and faster rate so nobody cared.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Finally, the Web appeared on the horizon and the concept of downloading software and installing it rather than using any kind of medium was revealed to a breathless world.&amp;nbsp; Vendors and users who had just achieved Software Installation Nirvana just while ago were now at a Higher Level of Nirvana, Level Two.&amp;nbsp; Level Two doesn’t use any medium at all, just light itself carrying pulses along fibers!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Just when we thought that we had reached the ultimate level of Nirvana, an online bookstore and retailing giant started something called a “cloud” in which Level Three can finally be revealed.&amp;nbsp; In this brave new world, you don’t install software at all – you spin up a virtual machine with the software already installed and preconfigured, with absolutely nothing else on there that you don’t need!&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This gives vendors WAY more control over the environment our software is used in and eliminates a vast number of issues that always arise with different version of the OS, the browser, the .NET framework, yada yada yada.&amp;nbsp; It gives users all the power they need at their fingertips in a few minutes, to be easily shut down when no longer needed.&amp;nbsp; This, you must admit, is Level Three of Software Installation Nirvana!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;We now have something like the original circuit cards that came in the PC except these are dedicated application servers and not hardware components.&amp;nbsp; Starting with a bare bones, stripped down version of Windows guarantees not only fast boot up times but reduced storages costs.&amp;nbsp; Then who cares if you are two versions behind the latest browsers and whatnot – you know that what you are giving the customer works “out of the cloud” and has been tested.&amp;nbsp; But if you install it on the user’s machine, all bets are off!&amp;nbsp; Back to Level Two, sorry - come back when you are ready!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Cloud Lab is a lot like that – the same core technology stack and base AMI can be configured to run a classroom, an online meeting or a development and test lab.&amp;nbsp; It’s super svelte construction guarantees the fastest possible boot up times using your selected CPU instance (small, medium, large, x-large).&amp;nbsp; Real men always choose x-large, of course, so that means a user with a netbook will have a machine at their disposal that would require a hulking noisy tower and a cooling power supply!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This is Level Three Software Installation Nirvana, available today on EC2 – don’t use a floppy, don’t use a CD-ROM, don’t even download it!&amp;nbsp; Instead, find the AMI and spin it up!&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Cloud Lab – how Windows® is run on the cloud&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-4768136117599707481?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/4768136117599707481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2011/05/level-three-software-installation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4768136117599707481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4768136117599707481'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2011/05/level-three-software-installation.html' title='Level Three Software Installation Nirvana'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-YG4wozBDc0k/TdNRrbHf_PI/AAAAAAAAAZ4/o6Jdi-VVGa0/s72-c/the_yogi_attains_siddhi_op89.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-8962621088893038321</id><published>2011-05-06T17:44:00.000-07:00</published><updated>2011-05-06T18:17:04.595-07:00</updated><title type='text'>A Royal Pain of a Web site Crash</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-csApoIgAGUc/TcSV0VxOSxI/AAAAAAAAAZ0/UKLO5cIeZ8Y/s1600/william-and-kate.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-csApoIgAGUc/TcSV0VxOSxI/AAAAAAAAAZ0/UKLO5cIeZ8Y/s320/william-and-kate.jpg" width="291" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a href="http://www.guardian.co.uk/media/2011/apr/29/william-kate-bbc-website"&gt;This news item &lt;/a&gt;tells us how the Royal Wedding brought the BBC website to its knees - didn't the Knights always have to approach the Queen on bended knee? &amp;nbsp;Nowadays I guess the same rule applies to websites! We're&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&amp;nbsp;thinking of offering Her Majesty and the Royal Family a free load test in exchange for a photo op at the Palace that we can use on our web site. Unfortunately she is not on LinkedIn or Facebook.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-8962621088893038321?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/8962621088893038321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2011/05/royal-pain-of-web-site-crash.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8962621088893038321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8962621088893038321'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2011/05/royal-pain-of-web-site-crash.html' title='A Royal Pain of a Web site Crash'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-csApoIgAGUc/TcSV0VxOSxI/AAAAAAAAAZ0/UKLO5cIeZ8Y/s72-c/william-and-kate.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7897306298598009380</id><published>2010-11-12T12:05:00.000-08:00</published><updated>2010-11-12T12:08:11.490-08:00</updated><title type='text'>Kaavo Application Management and Security on the Cloud</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.kaavo.com/"&gt;&lt;img border="0" height="133" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/TN2d6iI2DTI/AAAAAAAAAZk/Y7yc5qBZwOQ/s320/logo_new.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Yesterday in the space of less than two hours CapCal signed up as a customer of Kaavo and began using it to deploy and test a multi-tier web farm on Rackspace.  Even better, we have begun to deploy and manage our own mission-critical applications (CapCal, Cloud Lab and Browser Lab) on Kaavo and it solves a whole bunch of issues for us while opening up some amazing new possibilities. I've been waiting for something like this for a long time, I just didn't expect it to be so awesome.  Check them out at &lt;a href="http://www.kaavo.com/"&gt;www.kaavo.com&lt;/a&gt; - the web site is well laid out and there is lots of helpful information and great videos.  Stay tuned for regular updates on this amazing technology and how we will be using it at CapCal!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7897306298598009380?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7897306298598009380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/11/kaavo-application-management-and_12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7897306298598009380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7897306298598009380'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/11/kaavo-application-management-and_12.html' title='Kaavo Application Management and Security on the Cloud'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/TN2d6iI2DTI/AAAAAAAAAZk/Y7yc5qBZwOQ/s72-c/logo_new.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-1494526331594202667</id><published>2010-08-16T11:13:00.000-07:00</published><updated>2010-08-16T13:48:38.077-07:00</updated><title type='text'>A Ferrari on the Wide Open Web</title><content type='html'>&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 11" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5CRandy%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;o:smarttagtype name="place" namespaceuri="urn:schemas-microsoft-com:office:smarttags"&gt;&lt;/o:smarttagtype&gt;&lt;style&gt;&lt;!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal	{mso-style-parent:"";	margin:0in;	margin-bottom:.0001pt;	mso-pagination:widow-orphan;	font-size:12.0pt;	font-family:"Times New Roman";	mso-fareast-font-family:"Times New Roman";}@page Section1	{size:8.5in 11.0in;	margin:1.0in 1.25in 1.0in 1.25in;	mso-header-margin:.5in;	mso-footer-margin:.5in;	mso-paper-source:0;}div.Section1	{page:Section1;}--&gt;&lt;/style&gt;  &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.lockerz.com/"&gt;&lt;img border="0" height="86" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/TGl_fobt2WI/AAAAAAAAAZU/LQzTX2AJWqM/s400/lockerz_logo.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Designing and building a highly scalable web site on the cloud is quite a challenge, even though the tools and infrastructure are there to make it possible.&amp;nbsp; Being able to summon up servers out of thin air to meet increasing demand would have been impossible without cloud computing, but that power comes with its own set of problems and issues, as the team at &lt;a href="http://www.lockerz.com/"&gt;Lockerz&lt;/a&gt; recently discovered.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;If you haven't heard about Lockerz yet it's about time you do - started by an early Amazon employee and funded by Amazon and a group of blue chip investors, Lockerz is a revolution in social media and&amp;nbsp; e-commerce. &lt;/o:p&gt;Their web site was designed from the ground up to take full advantage of the Amazon cloud and all the latest high scalability innovations, from distributed memcached to a master-slave MySQL architecture running on high CPU Linux Apache servers.&amp;nbsp; Quite simply, this is a Ferrari on the wide open Web, where crashes and slowdowns happen all the time.&amp;nbsp; But just like a Ferrari, it is possible to go &lt;b&gt;too&lt;/b&gt; fast, and the consequences can be as severe as they are on the open road!&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Actually, designing a high scalability web site is a lot like designing a race car – to operate at its fullest capacity there’s a whole lot of testing, tweaking and tuning that has to be done.&amp;nbsp; The web server, the load balancer, the database, the memory cache and the network all come into play, and problems can arise with everything from default configuration settings to race conditions that are extremely difficult to reproduce, much less to diagnose and fix.&amp;nbsp; In a two hour meeting between their development and operations teams, Lockerz was able to accomplish what easily might have taken days if not weeks to do.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;This particular case involved a memcache race condition in which one thread requested a tag that was still being written by another, resulting in an invalid object exception.&amp;nbsp; As you might expect, this problem only surfaced at higher loads and was first uncovered by means of an 8 hour burn-in test at 50,000 users.&amp;nbsp; At that level, the servers began returning internal server errors (HTTP 500) on random pages that seemed to have no rhyme or reason to them.&amp;nbsp; At an average of 3,500 hits per second, as many as 6% were 500 errors. Even though the error page shows a really cute video of a dog licking your screen, this was clearly unacceptable to a company aiming for 99.9999% availability!&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;To diagnose and fix the problem, each member of the team floated his or her best guess about what might be causing it and as a group they decided on a test case that would either prove or disprove that theory.&amp;nbsp; Using CapCal tests that quickly ramped up to the level where the errors began to occur, variables were first removed and then re-added one by one to analyze their effect.&amp;nbsp; For example, from a load balanced web farm of 85 Apache servers they reduced it to a single Apache and determined that the errors did &lt;b&gt;not&lt;/b&gt; occur.&amp;nbsp; From there they added another one to the mix, then two, and were finally able to reproduce the problem.&amp;nbsp; The fact that the error occurred more readily on a high CPU instance with two virtual cores was a very useful hint that helped them zero in on the cause.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;By means of this disciplined and focused approach they were able to diagnose and fix it in a couple hours, so that when the next 50k user burn-in test was run they got a single “connection reset” error out of 17.5 million page hits – well within their stated &lt;st1:place w:st="on"&gt;SLA&lt;/st1:place&gt; goal!&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-1494526331594202667?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/1494526331594202667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/08/ferrari-on-wide-open-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1494526331594202667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1494526331594202667'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/08/ferrari-on-wide-open-web.html' title='A Ferrari on the Wide Open Web'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/TGl_fobt2WI/AAAAAAAAAZU/LQzTX2AJWqM/s72-c/lockerz_logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-789663954006372578</id><published>2010-07-15T14:02:00.000-07:00</published><updated>2010-08-05T11:20:17.473-07:00</updated><title type='text'>CapCal Announces Support for Rackspace Cloud</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/__Ho4v83ZSkc/TD92v8LwggI/AAAAAAAAAZE/61KHG4jqrBw/s1600/the_rackspace_cloud-white_high+res.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="88" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/TD92v8LwggI/AAAAAAAAAZE/61KHG4jqrBw/s400/the_rackspace_cloud-white_high+res.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We are proud to announce support for the Rackspace Cloud, which offers a number of advantages to our customers.&amp;nbsp; It's the same ultra lightweight Debian Linux agent as before, but Rackspace offers more choices in terms of memory and CPU, including a 250MB version that rents for 3 cents per hour - that's 10 times less than CapCal agents on the Internet were paid before the cloud came along!&lt;br /&gt;&lt;br /&gt;Please see our &lt;a href="http://www.rackspacecloud.com/blog/2010/07/15/capcal-brings-capacity-testing-to-the-rackspace-cloud/"&gt;blog post&lt;/a&gt; on the Rackspace Tools site - we are excited about joining the Rackspace Cloud Tools program as a partner and customer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-789663954006372578?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/789663954006372578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/07/capcal-announces-support-for-rackspace.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/789663954006372578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/789663954006372578'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/07/capcal-announces-support-for-rackspace.html' title='CapCal Announces Support for Rackspace Cloud'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/TD92v8LwggI/AAAAAAAAAZE/61KHG4jqrBw/s72-c/the_rackspace_cloud-white_high+res.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-335977433077818559</id><published>2010-06-29T15:49:00.000-07:00</published><updated>2010-06-29T15:56:57.200-07:00</updated><title type='text'>Web Site Crash Related to World Cup Soccer?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/__Ho4v83ZSkc/TCp4v8G7AFI/AAAAAAAAAY8/rnAU1P9ipE8/s1600/lampard-goal.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/TCp4v8G7AFI/AAAAAAAAAY8/rnAU1P9ipE8/s320/lampard-goal.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.tnooz.com/2010/06/29/news/travelrepublic-blames-fabio-capello-and-england-team-for-website-crash/"&gt;This&lt;/a&gt; news item flashed across my desktop in my Google Alert email about web site crashes and I found it both educational and amusing.&amp;nbsp; Apparently a travel site has crashed because of the rush of people wanting to flee South Africa after England's sorry showing against Germany or something.&amp;nbsp; The IT Director at the travel site says that : &lt;br /&gt;&lt;blockquote&gt;“The crash was caused by our own bespoke visitor tracking software which was  not able to cope with the load (slow write times to the database).&lt;br /&gt;“We had to disable some of the visitor tracking data to get the site back  online. Internally we call this the ‘Go Faster Button’, it strips away all the  nice-to-have data (logging etc) to make the site go faster but leaves the  customer experience unchanged apart from being faster.”&lt;/blockquote&gt;Interestingly, website crashes ordinarily do not lead to travel companies  explaining the inner workings of their systems to the outside world. But Waite continues:&lt;br /&gt;&lt;blockquote&gt;“It seems our database server wasn’t able to cope with the number of visits  per second when inserting rows in &amp;nbsp;to the visit detail table. We’ve now  partitioned this functionality across two servers, so we should be ready for at  least double the load now.”&lt;/blockquote&gt;My response to that is THANK YOU MR. WAITE for publishing this little jewel and letting people know how you fixed it.&amp;nbsp; If everybody whose website crashed for whatever reason would tell the whole world about it we would be much better armed in our quest for higher and higher scalability!&amp;nbsp; Yes, partitioning among servers is usually the answer but you might want to run some tests just to be sure.&amp;nbsp; (Use code CUPCRASH to get a free CapCal Crash Test)!&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-335977433077818559?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/335977433077818559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/06/web-site-crashes-related-to-world-cup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/335977433077818559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/335977433077818559'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/06/web-site-crashes-related-to-world-cup.html' title='Web Site Crash Related to World Cup Soccer?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/TCp4v8G7AFI/AAAAAAAAAY8/rnAU1P9ipE8/s72-c/lampard-goal.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-9123977625571135589</id><published>2010-06-06T09:33:00.000-07:00</published><updated>2010-06-06T18:18:40.252-07:00</updated><title type='text'>Agile Testing is Collaborative Testing</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/__Ho4v83ZSkc/TAvSOfLnpLI/AAAAAAAAAY0/C_Ka_Rj5R3g/s1600/tug_of_war_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/TAvSOfLnpLI/AAAAAAAAAY0/C_Ka_Rj5R3g/s320/tug_of_war_1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Testing in general, and load testing in particular, is a collaborative process when it works, and an endless source of conflict and frustration when it doesn’t.&amp;nbsp; The developers who write the code, the operations staff that configures and deploys the production system, and the QA folks who do the testing must all work together or the project is doomed to fail (or drag on forever, which is essentially the same thing).&amp;nbsp; &lt;br /&gt;&lt;br /&gt;This workflow for testing has been followed for decades in most companies:&lt;br /&gt;&lt;br /&gt;Dev....QA....Ops....QA&lt;br /&gt;&lt;br /&gt;It takes place serially, in other words.&amp;nbsp; The developers do unit testing and pass off to QA. QA does functional testing and passes off to Ops (or sometimes back to Dev) for load testing. Oftentimes load testing is done by a third party because of the resources and know how required.&amp;nbsp; In any case, this “waterfall” or tag-team approach presents both interpersonal and logistical challenges that can be counter-productive at worst, time-consuming at best.&amp;nbsp; Finger pointing and blaming are common, as are delays and miscommunications.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Collaborative testing, on the other hand, looks more like this:&lt;br /&gt;&lt;br /&gt;Dev....&amp;nbsp; &lt;br /&gt;QA .... &lt;br /&gt;Ops.... &lt;br /&gt;&lt;br /&gt;It happens at the same time, or in parallel if you will.&amp;nbsp; Not only is it true that two heads are better than one, but it often requires everybody on the team to identify, track down and fix certain kinds of issues.&amp;nbsp; There is plenty of finger-pointing going on, but fingers are pointed where they need to be (i.e., at the bugs, bottlenecks and other issues that are always lurking below the surface).&amp;nbsp; Finding and fixing these becomes a team exercise that can even be fun, a word that is rarely associated with testing.&amp;nbsp; Not only that, but it can be done in hours instead of days or weeks.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Agile testing is a critical component of agile development but just like agile development it requires collaboration to be done successfully.&amp;nbsp; For CapCal load tests we use Skype or GotoMeeting chat windows to facilitate the collaborative process in which everybody puts on their QA hat to run tests, analyze results, make the necessary changes and repeat the process as many times as necessary.&amp;nbsp; What may seem like an enormously expensive and resource-intensive process involving anywhere from three to five people is actually a time- and money-saving procedure that reduces the development cycle by an order of magnitude.&amp;nbsp; Not only that, the chat log contains a record of everything that transpired and can be used as a point of reference going forward. Finally, since geographically dispersed teams are the norm rather than the exception nowadays, it is a necessity and not just a convenience.&lt;br /&gt;&lt;br /&gt;Our new product, CloudLab, includes a built-in chat component that accomplishes the same thing and we are very excited about it – check back soon to find out more!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-9123977625571135589?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/9123977625571135589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/06/agile-testing-is-collaborative-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/9123977625571135589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/9123977625571135589'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/06/agile-testing-is-collaborative-testing.html' title='Agile Testing is Collaborative Testing'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/TAvSOfLnpLI/AAAAAAAAAY0/C_Ka_Rj5R3g/s72-c/tug_of_war_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-8625507648882562414</id><published>2010-05-30T08:30:00.000-07:00</published><updated>2010-06-03T07:45:27.565-07:00</updated><title type='text'>Why "Statistical Regression Testing" Matters</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/__Ho4v83ZSkc/TAKGBrYIZlI/AAAAAAAAAYs/JF5gKkPJamQ/s1600/stats.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="253" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/TAKGBrYIZlI/AAAAAAAAAYs/JF5gKkPJamQ/s400/stats.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;There is a class of problems or bugs that have a very small chance of being detected by manual testing or conventional regression testing, simply because they occur only when certain conditions are met.  Take as an example a web server farm in which one of the servers is mis-configured or didn’t boot correctly for some reason.  A manual test has a 1 in X chance of hitting the bad server, where X is the number of servers in the farm.  These are exactly the kind of issues that bedevil us the most, because we may have to repeat it many times before it happens and there seems to be no rhyme or reason to it.  In this example, the “rhyme and reason” is the algorithm used by the load balancer to distribute incoming requests.  &lt;br /&gt;&lt;br /&gt;In a recent project we had the load balancer configured for the default client header size of 2k bytes, which is fine in most cases but in this particular case there was a small percentage of headers that exceeded 2k because of cookie size.  The result was an HTTP error that never seemed to occur in manual testing simply because it was statistically uncommon.  Only by load testing were we able to consistently generate these errors and eventually discover their cause and fix them by raising the maximum header size in the load balancer.  &lt;br /&gt;&lt;br /&gt;This is a perfect example of why load testing is critical, not just for measuring performance but for uncovering the kinds of problems that require a large statistical sampling of client instances.  The objective is not to cause stress on the system but to throw enough variations at it to make sure bugs like this are not lurking below the surface.  We’ve named this “statistical regression testing” because it is a cross between functional and load testing designed to uncover issues that are statistically uncommon.  &lt;br /&gt;&lt;br /&gt;I’m sure if you think about it you’ll come up with a lot of examples in your own career where statistical regression testing either did help or would have helped.  Maybe you let a functional test run all night or got several people to bang on their keyboards at the same time.  Or maybe you WERE running a load test when the issue popped up and blamed it on the load testing tool until you discovered otherwise (and yes, you know who you are)!&lt;br /&gt;&lt;br /&gt;One reason that load testing is normally done at the end of a sprint or development cycle is that there’s not much point in stressing a system that doesn’t work to begin with.  The Catch 22, as you can see, is that you may need to run a load test or a whole lot of functional tests before you can say that it works well enough to stress it.  In any case, “statistical regression testing” is just as important as functional and load testing and the risk of releasing bad code goes way down if you employ all three.  &lt;br /&gt;&lt;br /&gt;We’ll continue to revisit this topic and finding more examples as we go along.  The statisticians among us will discover that their knowledge is very critical in determining the kinds of tests to run, and I am not exactly a statistician.  But I do admire them, and hope that my understanding of this field will grow over time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-8625507648882562414?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/8625507648882562414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/05/what-is-statistical-regression-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8625507648882562414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8625507648882562414'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/05/what-is-statistical-regression-testing.html' title='Why &quot;Statistical Regression Testing&quot; Matters'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/TAKGBrYIZlI/AAAAAAAAAYs/JF5gKkPJamQ/s72-c/stats.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2402654746991367872</id><published>2010-05-22T11:39:00.000-07:00</published><updated>2010-05-22T12:03:54.929-07:00</updated><title type='text'>How Fast is YOUR Upload Speed?</title><content type='html'>Not only the Web but the entire broadband infrastructure is based on the idea that uploads will by and large be much smaller than downloads, something that is not the case on a LAN.&amp;nbsp;  I recently got a fiber connection at home and it’s the zippy upload speed that impresses me the most – if you’ve ever tried to upload a video using a DSL connection you know what I mean.  &lt;br /&gt;&lt;br /&gt;We have recently come across a couple instances where a web app uploads huge chunks of data in a POST form and the user is forced to wait until it finishes.  When examining the application at the HTTP level, we see that the huge chunk of data is downloaded as part of the HTML of the previous page.  While the download takes less than a second, the upload takes anywhere from 20&amp;nbsp; to 40 seconds, even on this blazing fiber connection of mine!  &lt;br /&gt;&lt;br /&gt;This is a perfect example of why testing inside the firewall with a 1GB Ethernet connection can mask problems that end users “out there” are going to experience.  In the second case that we recently encountered, the graph of a single user test looked like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/__Ho4v83ZSkc/S_gk23ajjlI/AAAAAAAAAYc/B7dJ8ravqL8/s1600/synerpoc.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/S_gk23ajjlI/AAAAAAAAAYc/B7dJ8ravqL8/s400/synerpoc.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The long red bars show the time it takes to upload the form which it just finished downloading.  I have to assume that it's not an exact copy of the data it downloaded but it sure looks the same!&amp;nbsp; My recommendation is to find a way to eliminate the redundancy somehow, so that only the changes are uploaded instead of the whole block.&lt;br /&gt;&lt;br /&gt;By the way, here are the results of a speed test of my fiber connection from www.speakeasy.net -&amp;nbsp; fast for sure, but MUCH slower than a local Ethernet connection on uploads:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/__Ho4v83ZSkc/S_gqTpf-yNI/AAAAAAAAAYk/UDwZKW8COzs/s1600/uploadspeed.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/S_gqTpf-yNI/AAAAAAAAAYk/UDwZKW8COzs/s320/uploadspeed.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here endeth today's lesson in uploads vs downloads. Class dismissed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2402654746991367872?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2402654746991367872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/05/my-upload-is-faster-than-yours.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2402654746991367872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2402654746991367872'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/05/my-upload-is-faster-than-yours.html' title='How Fast is YOUR Upload Speed?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/S_gk23ajjlI/AAAAAAAAAYc/B7dJ8ravqL8/s72-c/synerpoc.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2159788438905656803</id><published>2010-04-24T11:26:00.000-07:00</published><updated>2010-05-01T16:58:25.124-07:00</updated><title type='text'>The Value of a Good "Death Test"</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__Ho4v83ZSkc/S9M5W3MPv3I/AAAAAAAAAYM/Y2JQVuE8Sss/s1600/DeathTest.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/S9M5W3MPv3I/AAAAAAAAAYM/Y2JQVuE8Sss/s400/DeathTest.JPG" width="387" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In a recent project we created a test that was sure to crash the site every time and &lt;b&gt;Bernard Garner&lt;/b&gt; at &lt;a href="http://sprybts.com/"&gt;Spry Business Technology Solutions&lt;/a&gt; aptly gave it the name "death test".&amp;nbsp; (Bernard and team are managing a very challenging web site launch on EC2 and working with us to get it done).&amp;nbsp; It's hard to overestimate the value of a good "death test", not just for the sake of infrastructure but security as well - only by knowing one's limits can one be prepared to react accordingly by&amp;nbsp; adding additional cloud resources.&amp;nbsp; This particular feature of the cloud - the ability to withstand attack - is an undersold and understated benefit as far as I am concerned.&amp;nbsp; I like to call it "crash proofing" because whether the traffic is legitimate or not it should never be allowed to crash the site and the "death test" is key to this.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Elsewhere in this blog I have called this a "crash test", and perhaps it sounds more positive than "death test".&amp;nbsp; But in any case the purpose is the same - what you see in the chart above is the equivalent of a "flat line" on a heart monitor, so maybe "death test" is more accurate.&amp;nbsp; (By the way, Bernard also gave us an idea the other day that we think is going to make load testing a lot more akin to twisting knobs on an oscilloscope than writing a program or creating a test plan.&amp;nbsp; We think this is a major breakthrough and think you will agree.&amp;nbsp; Stay tuned for more!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2159788438905656803?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2159788438905656803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/04/value-of-good-death-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2159788438905656803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2159788438905656803'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/04/value-of-good-death-test.html' title='The Value of a Good &quot;Death Test&quot;'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/S9M5W3MPv3I/AAAAAAAAAYM/Y2JQVuE8Sss/s72-c/DeathTest.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-241707328954024903</id><published>2010-04-15T08:57:00.000-07:00</published><updated>2010-04-15T09:23:18.052-07:00</updated><title type='text'>Where Less is More and Free is Costly</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;While it's true that testing is a means to verify the expected behavior of a system, what it really boils down to is uncovering and fixing all the things that prevent that behavior.&amp;nbsp; It's an iterative process by nature, the very purpose of which is to find problems, whether by manual or automated means.&amp;nbsp; And nothing uncovers problems like a good load test - bugs, bottlenecks and errors of all kinds come to the surface that may have nothing to do with performance.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;So the process of load testing should really be focused on finding and fixing the problems encountered along the way and NOT on the load testing itself.&amp;nbsp; To whatever degree your load testing tool slows this iterative process down or complicates it in any way is the measure of what it is REALLY costing you - most often there are three to five people involved in a load testing project, an expense that can dwarf the cost of just about any tool after a day or two of testing.&amp;nbsp; And, paradoxically, it is the open source tools that are "free" which often take the most time to learn, master and use. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;And herein lies the paradox of pricing for testing services like CapCal - less is really more when it comes to load testing and to charge customers for the amount of testing they do can actually be self-defeating and non-productive in the long run.&amp;nbsp; Nobody knows in advance how much testing will be required for a given website and it can even vary substantially between releases of the same website. Fortunately the pricing of Linux instances on EC2 is low enough to make it affordable to most companies.&amp;nbsp; But if the real advantage of a tool like CapCal is how much time it &lt;b&gt;saves&lt;/b&gt; you does it not seem counter-intuitive to charge for the amount of testing you do?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;It does, and that is why we lean towards a monthly pricing model that allows unlimited testing with the customer paying the AWS charges.&amp;nbsp; The real ROI is in the time saved creating, modifying and running tests, which not only squeezes time out of the development process but also decreases time to market, which results in lower costs and higher revenue.&amp;nbsp; Lowering costs, reducing risks and increasing revenue are what CapCal is aiming for and our customers are telling us that it works. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;So if you are in the market for a load testing service and have received a quote from SOASTA or one of the others, you may discover you are paying more for less if you don't check out CapCal first!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-241707328954024903?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/241707328954024903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/04/where-less-is-more-and-free-is-costly.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/241707328954024903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/241707328954024903'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/04/where-less-is-more-and-free-is-costly.html' title='Where Less is More and Free is Costly'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2998490615546402940</id><published>2010-03-25T09:47:00.000-07:00</published><updated>2010-03-25T10:08:24.159-07:00</updated><title type='text'>Testing - the "Suite Spot" on the Cloud</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/S6uXjO8WJHI/AAAAAAAAAXc/qzz8N2lPk8w/s1600/ibmcloud.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/S6uXjO8WJHI/AAAAAAAAAXc/qzz8N2lPk8w/s400/ibmcloud.JPG" alt="" id="BLOGGER_PHOTO_ID_5452618405424538738" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.infoworld.com/d/virtualization/ibm-gives-kvm-vote-confidence-new-development-and-test-cloud-922?page=0,0"&gt;This&lt;/a&gt; recent announcement in InfoWorld represents something of a tectonic shift in the cloud computing world.  With IBM announcing its own cloud to compete with Amazon and others, things will definitely be "up in the air" and heating up as far as the cloud is concerned (nudge nudge, wink wink):&lt;br /&gt;&lt;/span&gt;&lt;p  style="font-style: italic;font-family:arial;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;“According to IBM research, the average enterprise  devotes up to 50 percent of its entire technology infrastructure to development  and testing, but typically &lt;span style="font-weight: bold;"&gt;up to 90 percent of the test infrastructure remains  idle&lt;/span&gt;.  Like many other cloud startups going after the Dev/Test market, IBM found  that taking advantage of cloud computing within development and testing  environments can help reduce IT labor costs by 50 percent, improve quality, and  drastically reduce time to market”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;Half of the enterprise entire tech infrastructure devoted to development and testing while 90% of the test infrastructure remains idle?&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;I believe it because I see it every day and have for the past couple of decades at least.  That is why we are aiming to provide not just load and performance testing but all forms of testing  as a service on the cloud.  We have a couple of really exciting announcements coming up that will show just how far we've come!  For a preview, have a look at &lt;a href="http://www.capcal.com/CloudLabDemo.html"&gt;this&lt;/a&gt; 3 minute video about our functional testing solution being rolled out this quarter.&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;We would like to hereby welcome IBM not only to the cloud space but the cloud testing space, the "suite spot" of the cloud!&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style=";font-family:Arial;font-size:10pt;"  &gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2998490615546402940?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2998490615546402940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/03/testing-suite-spot-on-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2998490615546402940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2998490615546402940'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/03/testing-suite-spot-on-cloud.html' title='Testing - the &quot;Suite Spot&quot; on the Cloud'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/S6uXjO8WJHI/AAAAAAAAAXc/qzz8N2lPk8w/s72-c/ibmcloud.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6829743021770346406</id><published>2010-03-20T17:40:00.000-07:00</published><updated>2010-03-20T19:00:05.101-07:00</updated><title type='text'>What's a Few Million Among Friends?</title><content type='html'>Faithful readers will recall our search to enter the Guinness World Book of Records for running the first million user load test.  We had a few takers but none with the kind of infrastructure it takes to handle 100,000, much less a million simultaneous users.&lt;br /&gt;&lt;br /&gt;Meanwhile, SOASTA has announced a million user load test using 587 EC2 instances, a feat that is quite remarkable considering that it would require each instance to generate almost 2,000 users.  It's possible to do this if you make the time between pages VERY long because normally the upper limit is half of that or even less due to bandwidth issues.  The real challenge for such a massively large test is getting the instances to begin with - it's not that you can't but you have to get permission and often schedule it in advance.  Here at CapCal we've run tests with as many as 420 instances and lately we ran a four million user test over a two hour time period.&lt;br /&gt;&lt;br /&gt;But since we can no longer get our name in the Guinness Book for the first million user test I sent an email to Brad Johnson at SOASTA congratulating them on the accomplishment.  He replied cordially and said that it's an exciting time to be in the testing business, to which I heartily agree!   Cloud computing is the ultimate game changer in this space, and the field is wide open.  It's good to have competitors like SOASTA because it makes us aim even higher to be the best in the eyes of our customers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6829743021770346406?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6829743021770346406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/03/whats-few-million-among-friends.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6829743021770346406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6829743021770346406'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/03/whats-few-million-among-friends.html' title='What&apos;s a Few Million Among Friends?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2139044276205831622</id><published>2010-03-11T14:58:00.000-08:00</published><updated>2010-03-11T18:31:40.463-08:00</updated><title type='text'>Tiger Woods Mistress Beauty Pageant crashes Howard Stern's website</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/S5l2yCK1eFI/AAAAAAAAAXM/4FtMNxfnJdY/s1600-h/resized_jamie_jungers_pageant.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 174px; height: 262px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/S5l2yCK1eFI/AAAAAAAAAXM/4FtMNxfnJdY/s400/resized_jamie_jungers_pageant.jpg" alt="" id="BLOGGER_PHOTO_ID_5447515826229180498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.examiner.com/x-11279-Howard-Stern-Examiner%7Ey2010m3d11-Tiger-Woods-Mistress-Beauty-Pageant-crashes-Howard-Sterns-website"&gt;This&lt;/a&gt; appeared in today's Detroit Examiner about how Howard Stern's website was crashed by the "Tiger Woods Mistress Beauty Pageant".&lt;br /&gt;&lt;br /&gt;According to Liz Brown:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Howard Stern commented Thursday morning: "Doug Herwitz who runs the website, he  said 'sure enough, the whole thing went down.' He says he can't even gauge the  volume of traffic. Everything's blown out...And we have like a really big  server. It's really rare that we can crash this thing."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sure Doug, you may have a "really big server" but apparently not big enough, because not only size but numbers matter a LOT when hosting content that literally millions of guys might be interested in.   I suggest that the next time you try something like this you have a load balanced web farm on EC2, maybe 10 Apache Linux instances to start with along with autoscaling that will add more as traffic increases.&lt;br /&gt;&lt;br /&gt;If Howard or Doug are out there listening and want to try a free CapCal Crash Test to see at what point their "really big server" starts crapping out, just send an email to "info at capcal.com" and we'll schedule it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2139044276205831622?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2139044276205831622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/03/tiger-woods-mistress-beauty-pageant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2139044276205831622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2139044276205831622'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/03/tiger-woods-mistress-beauty-pageant.html' title='Tiger Woods Mistress Beauty Pageant crashes Howard Stern&apos;s website'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/S5l2yCK1eFI/AAAAAAAAAXM/4FtMNxfnJdY/s72-c/resized_jamie_jungers_pageant.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6887341752120129529</id><published>2010-03-09T15:13:00.001-08:00</published><updated>2010-03-11T12:51:49.084-08:00</updated><title type='text'>Don't Shoot the Messenger - PLEASE!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/S5baAeJ84sI/AAAAAAAAAXE/DuVhI10ZtWo/s1600-h/pe01589_.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 242px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/S5baAeJ84sI/AAAAAAAAAXE/DuVhI10ZtWo/s400/pe01589_.gif" alt="" id="BLOGGER_PHOTO_ID_5446780500980851394" border="0" /&gt;&lt;/a&gt;Everyone who is involved in the messy business of testing software, whether it be functional, load or what have you, has from time to time found themselves being the Bearer of Bad Tidings to management and developers.&lt;span style=""&gt;  &lt;/span&gt;It is, in fact, what they pay us to do, and there are few other areas of human endeavor in which success means finding failures.&lt;span style=""&gt;  &lt;/span&gt;In that sense we’re no different from your doctor or your auto mechanic – if a diagnostic test brings bad news we are quick to seek a second opinion, or even to doubt the veracity of the diagnostic equipment.&lt;span style=""&gt;  &lt;/span&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is human nature, of course, just like the glee we feel when the test results come back positive.&lt;span style=""&gt;  &lt;/span&gt;I’ve worked with developers who LOVE CapCal when it gives them the kind of results they expect but are quick to call it into question when it doesn’t.&lt;span style=""&gt;  &lt;/span&gt;I’m happy to say that the times in which there really is a problem with CapCal are becoming more and more infrequent, but it doesn’t keep me from assuming that it is (or at least could be) until I can prove otherwise.&lt;span style=""&gt;  &lt;/span&gt;In the court of testing, the tool is guilty of malfunction until it can be proven otherwise.&lt;span style=""&gt;  &lt;/span&gt;Proving it otherwise means finding and fixing the problem with the application most of the time.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Using software to test software is like using a diamond to cut diamonds (except for the word “soft”, which spoils the whole analogy if you dwell on it much).&lt;span style=""&gt;  &lt;/span&gt;If the drill bit breaks while you are cutting a diamond you just have to replace it with a harder one and keep working.&lt;span style=""&gt;  &lt;/span&gt;With CapCal this kind of breakage is normally due to an exotic combination of things that rarely occur simply because they are so exotic.&lt;span style=""&gt;  &lt;/span&gt;I’d love to give you an example but you might work for a competitor and if that's the case you’ll just have to figure it out for yourself! :-)&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6887341752120129529?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6887341752120129529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/03/dont.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6887341752120129529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6887341752120129529'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/03/dont.html' title='Don&apos;t Shoot the Messenger - PLEASE!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/S5baAeJ84sI/AAAAAAAAAXE/DuVhI10ZtWo/s72-c/pe01589_.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-4049850173327951385</id><published>2010-03-03T08:59:00.000-08:00</published><updated>2010-03-04T10:22:15.770-08:00</updated><title type='text'>Dealing With Surly and Downright Rude Websites!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/S46atyuJJNI/AAAAAAAAAW0/1zrxHYzkjz0/s1600-h/sjs_slap_in_face.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 328px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/S46atyuJJNI/AAAAAAAAAW0/1zrxHYzkjz0/s400/sjs_slap_in_face.gif" alt="" id="BLOGGER_PHOTO_ID_5444459111037609170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My favorite of all the HTTP return codes is 403, which reads like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;The server understood the request, but is refusing to fulfill it. Authorization will not help and the request should NOT be repeated.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The server understood the request but is refusing to fulfill it?  That's it, no explanation given?  If that’s not an example of surly, rude behavior I don’t know what is.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Or, at a lower level, there is the famous “connection refused” message that tells you nothing at all, except perhaps that the owner of the website wants nothing to do with you.  That’s the cyber equivalent of a slap in the face the way I see it!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;From my experience, connections most often get refused when there just aren’t enough of them to go around, and that is often because of an arbitrary and artificial limitation on the load balancer.  For the &lt;span style="font-style: italic;"&gt;nginx&lt;/span&gt; load balancer, for example, the default is 1024 – a lovely, round number with a venerable history for sure, but WAY too low for a majority of websites.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Remember, these connections have a life of their own that leaves them hanging around, sometimes for up to 3 minutes.  So you don’t have to have 1024 simultaneous connections to hit the limit, which makes it even more of a ridiculous number.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Operations folks typically see a number like that and think it was defined that way for a good reason.  Because of that,  they are reluctant to change it the same way a plumber is reluctant to turn a faucet all the way up and leave it.   But failure to do so will result in a cyber face-slapping for your users, who may assume the problem is at their end and start haranguing their ISP.   &lt;/span&gt;Hopefully their ISP will keep them on the phone long enough for you to get the problem fixed!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So only YOU can prevent the rude and surly treatment of your users by making sure the “connection faucet” is turned up all the way and left there!  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;EOR (End of Rant)&lt;/span&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-4049850173327951385?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/4049850173327951385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2010/03/dealing-with-surly-stingy-and-downright.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4049850173327951385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4049850173327951385'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2010/03/dealing-with-surly-stingy-and-downright.html' title='Dealing With Surly and Downright Rude Websites!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/S46atyuJJNI/AAAAAAAAAW0/1zrxHYzkjz0/s72-c/sjs_slap_in_face.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-3768633776335595381</id><published>2009-12-02T14:17:00.000-08:00</published><updated>2009-12-02T17:13:52.974-08:00</updated><title type='text'>Walmart's Site Down on Black Friday Again</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SxbqJZazQSI/AAAAAAAAAWk/GSxLpDwnEEM/s1600-h/walmart-coupon.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 57px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SxbqJZazQSI/AAAAAAAAAWk/GSxLpDwnEEM/s400/walmart-coupon.JPG" alt="" id="BLOGGER_PHOTO_ID_5410769449495249186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.marketingvox.com/wal-marts-nightmare-site-down-on-black-friday-025684/"&gt;This&lt;/a&gt; appeared on the Marketing Vox site today (along with several others) about the &lt;span style="font-weight: bold;"&gt;Walmart Black Friday website crash&lt;/span&gt; that occurred on the busiest shopping day of the year.  Faithful readers of this blog will remember &lt;a href="http://capcalblog.blogspot.com/2009/04/wal-mart-website-crashes-on-black.html"&gt;this&lt;/a&gt; posting about another Black Friday meltdown at Walmart a few years back.  Since a visitor from Walmart showed up on the blog today, I do hope he or she will return because we are offering them a &lt;span style="font-weight: bold;"&gt;free CapCal Crash Test&lt;/span&gt; with up to &lt;span style="font-weight: bold;"&gt;200,000 users &lt;/span&gt;if they are up to it!  Unfortunately I don't know anybody there but if anyone out there does, please pass this along!&lt;br /&gt;&lt;br /&gt;But hurry because  this offer is only good until December 22, 2012 (and that's only because the world will end that day according to the ancient Mayan prophecies)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-3768633776335595381?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/3768633776335595381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/12/walmarts-site-down-on-black-friday.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3768633776335595381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3768633776335595381'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/12/walmarts-site-down-on-black-friday.html' title='Walmart&apos;s Site Down on Black Friday Again'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SxbqJZazQSI/AAAAAAAAAWk/GSxLpDwnEEM/s72-c/walmart-coupon.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6444071136804674301</id><published>2009-12-02T08:12:00.000-08:00</published><updated>2009-12-03T16:47:11.507-08:00</updated><title type='text'>Stanford Uses CapCal with EC2 for Student Portal</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SxaTNahxTvI/AAAAAAAAAWc/Lokwj2lkiO8/s1600-h/stanford_capcal.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 355px; height: 60px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SxaTNahxTvI/AAAAAAAAAWc/Lokwj2lkiO8/s400/stanford_capcal.JPG" alt="" id="BLOGGER_PHOTO_ID_5410673861000777458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.coalitionnet.com/"&gt;Coalition Networks&lt;/a&gt; is a consulting firm in the Bay Area that was contracted by Stanford University to calibrate the performance of their Student Housing Portal, a web-based application that all students use to select their residence options and apply for a residence.  As might be  expected, this can often lead to a usage peak in the hours leading up to the deadline, and Stanford  RD&amp;amp;E IT wanted to make sure their servers were adequate for supporting up to a couple thousand  simultaneous users.&lt;br /&gt;&lt;br /&gt;According to Akin Ajiboye with CNI:&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Our test plan called for generating a load of up to 2,000 users, which even at 100 user per computer would require 20 machines.  Fortunately, Coalition Networks partnered with Aligned Technology and CapCal to get the job.  With CapCal running on the Amazon EC2 cloud we were able to fire up as many servers as we needed in less than a minute.  While the test was running we gathered all the relevant network and database statistics and were able to form a complete picture of the application's performance.  We recommend CapCal with EC2 as a great way to get excellent results quickly.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;As a CapCal partner, Hiroaki Ajari of &lt;a href="http://www.alignedtechnology.com/"&gt;Aligned Technology&lt;/a&gt; had this to say:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We’ve worked with CapCal since the earliest versions so we were very excited to see it become available on the Amazon cloud.  Of course it was a great honor and a privilege to work with one of the finest universities in the world, right here at the center of the technology universe.  This was our first time to see and use EC2 and experience scalability as required.  It's such a luxury to utilize servers on demand, minimizing waste - resources, cost, total footprint.  Amazon's EC2 is perfect for the cyclical nature of testing; especially to handle performance testing's environmental needs for generating and distributing load from the test servers.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Our joint efforts with Amazon, Aligned Technology and Coalition Networks provided Stanford a quantitative way to measure risk, triggering mitigation strategies that allow them to maintain first class service to their students and administrators.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6444071136804674301?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6444071136804674301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/12/stanford-uses-capcal-with-ec2-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6444071136804674301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6444071136804674301'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/12/stanford-uses-capcal-with-ec2-for.html' title='Stanford Uses CapCal with EC2 for Student Portal'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SxaTNahxTvI/AAAAAAAAAWc/Lokwj2lkiO8/s72-c/stanford_capcal.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-3007490154497421329</id><published>2009-12-02T08:02:00.000-08:00</published><updated>2009-12-02T17:14:06.216-08:00</updated><title type='text'>CapCal Demo Video Now Available Online</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.capcal.com/demo/start.html"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 250px; height: 137px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SxaQeBXS-GI/AAAAAAAAAWM/lYi_jZFylvg/s400/bloglogo.pg.jpg" alt="" id="BLOGGER_PHOTO_ID_5410670847768852578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;We recently completed an 8 minute &lt;a href="http://www.capcal.com/demo/start.html"&gt;Camtasia video&lt;/a&gt; showing how CapCal works with Amazon EC2. Please have a look and give us your feedback - we still want to make a few tweaks but it's 90% there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-3007490154497421329?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/3007490154497421329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/12/capcal-demo-video-now-available.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3007490154497421329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3007490154497421329'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/12/capcal-demo-video-now-available.html' title='CapCal Demo Video Now Available Online'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SxaQeBXS-GI/AAAAAAAAAWM/lYi_jZFylvg/s72-c/bloglogo.pg.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-8097459922730954211</id><published>2009-10-02T11:35:00.000-07:00</published><updated>2009-10-02T13:25:14.263-07:00</updated><title type='text'>Interview in Software Test &amp;Performance Magazine!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SsZhnyKPb0I/AAAAAAAAAV8/BezcYxB-fDk/s1600-h/stp.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 280px; height: 116px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SsZhnyKPb0I/AAAAAAAAAV8/BezcYxB-fDk/s400/stp.JPG" alt="" id="BLOGGER_PHOTO_ID_5388101340302896962" border="0" /&gt;&lt;/a&gt;It was a great honor and a pleasure to be interviewed by Andrew Muns for the October issue of &lt;a href="http://www.stpcollaborative.com/knowledge/513-capcals-randy-hayes-sees-clouds-in-the-forecast#"&gt;Software Test and Performance&lt;/a&gt; magazine.  I am planning to be at the &lt;a href="http://stpcon.com/?source=stpcollab"&gt;STPCon 2009 &lt;/a&gt;conference in Cambridge this month, which I highly recommend as one of the best ways to stay ahead of the curve in our industry.  I would love to meet up with any of our customers,  partners and friends in the Boston area (you know who are and will be getting a call)!&lt;br /&gt;&lt;br /&gt;Hope to see you there, and thanks again to Andrew Muns with ST&amp;amp;P for the honor of being in print in such a classy publication!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-8097459922730954211?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/8097459922730954211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/10/interview-in-sotware-test-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8097459922730954211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8097459922730954211'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/10/interview-in-sotware-test-and.html' title='Interview in Software Test &amp;Performance Magazine!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SsZhnyKPb0I/AAAAAAAAAV8/BezcYxB-fDk/s72-c/stp.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2394514357776510028</id><published>2009-09-17T10:30:00.000-07:00</published><updated>2009-09-21T12:49:33.813-07:00</updated><title type='text'>A Very Delicate Load Balancing Act</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SrJ1GjhxdzI/AAAAAAAAAVc/9NYiKLnZjJ4/s1600-h/gop_balancing_act23.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SrJ1GjhxdzI/AAAAAAAAAVc/9NYiKLnZjJ4/s400/gop_balancing_act23.jpg" alt="" id="BLOGGER_PHOTO_ID_5382493260137723698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Everyone knows what a load balancer is but exactly what it does and how it goes about doing it are often mysterious.  Since every single page request goes through the load balancer, how it is configured and what its capacity is can have everything to do with how well an application performs under load.  For example, the maximum number of connections is a configurable parameter that is often  very low in its default setting.&lt;br /&gt;&lt;br /&gt;A current project for a cruise ship booking engine is a case in point.  This particular application is being moved to the cloud for all the right reasons, namely, to have the extra capacity when needed to handle sudden usage spikes without bogging down or crashing.  Our initial tests showed that the bottleneck was the database server, which is often the case.  So we beefed up the database server quite a bit and saw dramatically better results.  But we also saw reams of errors start to appear once we crossed a magic threshold that had to do either with the configuration or the capacity of the load balancer.&lt;br /&gt;&lt;br /&gt;In the first case, it was exactly what I referred to earlier - if the load balancer is limited artificially to 100 connections and you try to open 200 or 2000, every request that exceeds the limit will receive an error of some kind, depending on the load balancer.  In this case it was a 502 (out of resources), but I've also seen 404 (page not found) or just plain timeouts while making a connection.&lt;br /&gt;&lt;br /&gt;Once we solved that, we tried again and hit a limit at about 1,000 users.  This time we determined that the load balancer itself was being maxed out so we beefed up its CPU and memory (which is a snap on the cloud) and tried again.  Now we got to 2,500 users before we started seeing any errors or delays.   Our customer had this to say about the experience in a &lt;a href="http://developer.amazonwebservices.com/connect/entry%21default.jspa?categoryID=89&amp;amp;externalID=2658&amp;amp;fromSearchPage=true"&gt;review&lt;/a&gt; on Amazon.com:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;With the CapCal CloudBurst delivery system we were able to effectively simulate thousands of instantaneous/continuous users hitting our development environment. The after-test reports provided us with the guidance we needed to streamline our code. I highly recommend CapCal to anyone looking for a fast, affordable performance testing solution. John Hill, President HIL-TEC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thank you, John!&lt;br /&gt;&lt;br /&gt;We'll be publishing some actual results from these tests in future blog posts.  But load balancing is such a fundamental part of the scalability and performance picture that it deserves to be studied and analyzed on its own, so that's what we'll be doing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2394514357776510028?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2394514357776510028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/09/very-delicate-load-balancing-act.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2394514357776510028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2394514357776510028'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/09/very-delicate-load-balancing-act.html' title='A Very Delicate Load Balancing Act'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SrJ1GjhxdzI/AAAAAAAAAVc/9NYiKLnZjJ4/s72-c/gop_balancing_act23.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2988276214584665229</id><published>2009-09-15T13:55:00.001-07:00</published><updated>2009-09-15T14:19:32.234-07:00</updated><title type='text'>Blastoff Leaves the Launch Pad!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.pplblastoffsite.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 42px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sq__cyFsQmI/AAAAAAAAAVU/HDA7Iy9e0-g/s400/blastoff.JPG" alt="" id="BLOGGER_PHOTO_ID_5381800949678096994" border="0" /&gt;&lt;/a&gt;If you haven't heard about it yet I'm sure you will soon enough. But  &lt;a href="http://www.pplblastoffsite.com/"&gt;Blastoff Networks&lt;/a&gt; left the launch pad on Sunday and CapCal has been working closely with them to ensure that they are ready.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Blastoff&lt;/span&gt; belongs in the category of "Wow, why didn't I think of that?"  They've teamed up with hundreds of retailers to offer discounts to all their members,  and to me it makes perfect sense.  Unlike companies that push their members to sell for them, Blastoff just asks you to buy the things you would normally buy but for less money.   Oh, and you get &lt;span style="font-weight: bold;"&gt;paid &lt;/span&gt;every time one of your friends buys something!&lt;br /&gt;&lt;br /&gt;Pay less for what you buy and get paid when your friends buy for less - that's hard to beat!  If this takes off the way I think it will, there will be another household name in the online retailing space before long!&lt;br /&gt;&lt;br /&gt;And don't forget you heard it here first, on the CapCal Blog!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2988276214584665229?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2988276214584665229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/09/blastoff-leaves-launch-pad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2988276214584665229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2988276214584665229'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/09/blastoff-leaves-launch-pad.html' title='Blastoff Leaves the Launch Pad!!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/Sq__cyFsQmI/AAAAAAAAAVU/HDA7Iy9e0-g/s72-c/blastoff.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-355373009799780648</id><published>2009-09-07T15:12:00.000-07:00</published><updated>2009-09-10T10:40:12.395-07:00</updated><title type='text'>Barclay's Online Banking Takes a Dive (Again)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SqWK5Hiqs7I/AAAAAAAAAVM/g_jS8cLwTEE/s1600-h/2003_boy_crushed_by_his_hiking_backpack.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 263px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SqWK5Hiqs7I/AAAAAAAAAVM/g_jS8cLwTEE/s400/2003_boy_crushed_by_his_hiking_backpack.PNG" alt="" id="BLOGGER_PHOTO_ID_5378858043845555122" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.theregister.co.uk/2009/09/07/barclays_bank_down_again/"&gt;This&lt;/a&gt; just in from my daily Google alert for website crashes - apparently after a new version of the site was launched, along with a marketing push, Barclays has had a number of issues according to John Oates of The Register:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Either the bank has been plagued with problems or a disproportionate number  of &lt;/span&gt;&lt;em style="font-style: italic;"&gt;Reg&lt;/em&gt;&lt;span style="font-style: italic;"&gt; readers use the bank's online services.  &lt;/span&gt;&lt;span style="font-style: italic;"&gt;In July &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.theregister.co.uk/2009/07/27/barclays_bank_problems/" target="_blank"&gt;the service went down&lt;/a&gt;&lt;span style="font-style: italic;"&gt; after a new version of the site, and  associated marketing push, was launched. In June it &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.theregister.co.uk/2009/06/16/barclays_crash/" target="_blank"&gt;lost its ATM network&lt;/a&gt;&lt;span style="font-style: italic;"&gt; and watched its website crash twice.  It had similar problems &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.theregister.co.uk/2008/10/01/barclays_online_offline/" target="_blank"&gt;in October&lt;/a&gt;&lt;span style="font-style: italic;"&gt; of last year too.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of course, this kind of thing happens all the time;  there's no use in singling out Barclays.  A marketing push is usually preceded by a new version of the site, which ends up being a double-whammy : if the marketing push is successful, it can often overwhelm the servers and thereby nullify the entire campaign.&lt;br /&gt;&lt;br /&gt;First of all, they should know that a successful marketing campaign can result in way more activity than normal, and in fact that's the whole point!  This is where EC2 comes in, with load balancing and autoscaling that will handle whatever comes their way.&lt;br /&gt;&lt;br /&gt;Secondly, even with the full power of Amazon's data centers behind them, if the app itself isn't scalable they will &lt;span style="font-weight: bold;"&gt;still&lt;/span&gt; have problems.  This blog beats these two points like a dead horse, and yet they can't be overemphasized - &lt;span style="font-weight: bold;"&gt;cloud computing + cloud testing = success&lt;/span&gt;.  Forgo either one and you are asking for trouble!&lt;br /&gt;&lt;br /&gt;Finally, this is a BANK, not just a place to buy the cute little coats worn by the Obama girls or to check out the latest swimsuit fashions.  When people can't access their money they tend to get very nervous (or at least I do).&lt;br /&gt;&lt;br /&gt;So I hope the CIO of Barclay's is entering the right phrases into his or her search engine of choice.  If so, this page will likely turn up along with an offer for a free &lt;span style="font-weight: bold;"&gt;CapCal Crash Test&lt;/span&gt; of up to &lt;span style="font-weight: bold;"&gt;10,000 users&lt;/span&gt; on Amazon EC2!&lt;br /&gt;&lt;br /&gt;Sounds like a jolly good idea to me!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-355373009799780648?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/355373009799780648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/09/barclays-online-banking-takes-dive.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/355373009799780648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/355373009799780648'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/09/barclays-online-banking-takes-dive.html' title='Barclay&apos;s Online Banking Takes a Dive (Again)'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SqWK5Hiqs7I/AAAAAAAAAVM/g_jS8cLwTEE/s72-c/2003_boy_crushed_by_his_hiking_backpack.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6674782505019208205</id><published>2009-07-23T09:54:00.000-07:00</published><updated>2009-07-23T15:07:09.769-07:00</updated><title type='text'>Your Servers Autoscale But What About The Rest?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/Smibz0RpU5I/AAAAAAAAAUE/c4DyGBfQGBE/s1600-h/loadbalancer.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 372px; height: 400px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/Smibz0RpU5I/AAAAAAAAAUE/c4DyGBfQGBE/s400/loadbalancer.JPG" alt="" id="BLOGGER_PHOTO_ID_5361706670892864402" border="0" /&gt;&lt;/a&gt;It has traditionally been assumed that load testing is done for the sake of fine tuning performance and that's true.  But it's also done to fine tune scalability, and that's a whole different ball game - the next CapCal customer or prospect I meet whose site is actually able to handle the kinds of loads they expect will be the first.  Not because they lack a first class, multi-tiered infrastructure with all the latest hardware (or even better, a load-balanced,  autoscaling cloud deployment), but because there are umpteen million "gotchas" laying in wait to surprise you at the worst possible moment - everything from load balancer settings to database, web server, OS or network settings and application configuration parameters, the list is endless.  So instead of showing a performance drop at a certain load a server will begin spewing out errors indicating that an invisible boundary was crossed somewhere.&lt;br /&gt;&lt;br /&gt;Have a look at the 2 minute CapCal test above (click on it for a better view) that attempts to reach 1,000 virtual users but at about 700 begins generating thousands of 503 (out of resources) errors.   The green bars that show the ever-increasing bandwidth also drop precipitously when the errors start because only error headers are being returned instead of content.&lt;br /&gt;&lt;br /&gt;Is this a site that expects to have more than 700 people online at any given time?  Try 7,000 or even 70,000!  Could this test be run in the lab using a tool like JMeter?  Maybe at 1,000 virtual users, but at higher loads it just isn't practical or feasible because of the number of computers that would be required.&lt;br /&gt;&lt;br /&gt;This is an example of a scalability test done against a single static page that doesn't even begin to stress the servers and yet it shows a scalability limit that required all of 2 minutes to uncover.   Proof once again that performance rocks but scalability rules!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6674782505019208205?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6674782505019208205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/07/your-servers-autoscale-but-what-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6674782505019208205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6674782505019208205'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/07/your-servers-autoscale-but-what-about.html' title='Your Servers Autoscale But What About The Rest?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/Smibz0RpU5I/AAAAAAAAAUE/c4DyGBfQGBE/s72-c/loadbalancer.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7042295273109909256</id><published>2009-07-10T11:54:00.000-07:00</published><updated>2009-07-10T21:24:07.081-07:00</updated><title type='text'>CapCal's Debut in the Amazon Solution Catalog!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=89&amp;amp;externalID=2658"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 164px; height: 60px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SleOxspAxbI/AAAAAAAAASU/Rd30ZadHQZY/s400/logo_aws.gif" alt="" id="BLOGGER_PHOTO_ID_5356907266228405682" border="0" /&gt;&lt;/a&gt;CapCal made its debut on the Amazon Web Services &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=89&amp;amp;externalID=2658"&gt;Solutions Catalog&lt;/a&gt; today, the first of many announcements we'll be making about our partnership in the weeks to come!  We are now working on a Case Study to be eligible for a spot as Featured Solution, which we hope to have available shortly.  We are proud to display the Amazon logo on our website and to be part of the fast-growing community of developers and businesses taking advantage of this amazing, world-changing technology!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7042295273109909256?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7042295273109909256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/07/capcal-is-published-on-amazon-solution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7042295273109909256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7042295273109909256'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/07/capcal-is-published-on-amazon-solution.html' title='CapCal&apos;s Debut in the Amazon Solution Catalog!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SleOxspAxbI/AAAAAAAAASU/Rd30ZadHQZY/s72-c/logo_aws.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5825893890404689105</id><published>2009-07-09T14:06:00.000-07:00</published><updated>2009-07-10T21:09:19.487-07:00</updated><title type='text'>Handling the Dirty Work of Dynamic Content</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/Sle2tlGLnkI/AAAAAAAAASk/jfYDqOCn70A/s1600-h/SoapAjax.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 201px; height: 116px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/Sle2tlGLnkI/AAAAAAAAASk/jfYDqOCn70A/s400/SoapAjax.JPG" alt="" id="BLOGGER_PHOTO_ID_5356951175948901954" border="0" /&gt;&lt;/a&gt;One reason performance and scalability testing can be so challenging these days is that the content to be tested is so dynamic and ever-changing.  It's a dirty job, but somebody's gotta do it - for a test to be realistic and effective it can't be done the "old fashioned" way,  just by recording a single path through the application.  It has to be automatically generated from the content itself, and that's what we're working on right now.&lt;br /&gt;&lt;br /&gt;There are two types of dynamic content, server-side and client-side.  An example of server-side content is online news, which changes constantly but is stored on the server and thus can be used for creating performance tests.  Client-side dynamic content comes from AJAX or web services calls and shows up only in the browser, like a list of tickets available for a sporting event or concert. This particular site "sports" a rich client interface on the front end and uses Amazon EC2 on the back end.  When you click on an event, the list of available seats is totally dynamic - it isn't stored anywhere except in the browser at that moment.  Like an airline flight, it can disappear in an instant if the event gets sold out.&lt;br /&gt;&lt;br /&gt;One of the companies we are working with is dealing with server-side dynamic content (online news) and another  is dealing with the client-side content described above (online tickets).   In the first case, what we envision is fairly straightforward - a small script will query the server database and generate a comma delimited text file to fill in the parameters of "template sessions" on the CapCal server, then call another script that automatically uploads it and kicks off the test.  This will generate thousands of unique test cases that can be run by thousands of virtual users against a staging site before moving new content or application changes into production.  Not only will the most current and dynamic content be tested, it will be tested in enough combinations and at high enough load levels to flush out any bugs or bottlenecks that might be lurking undetected.&lt;br /&gt;&lt;br /&gt;In the case of the online ticket site and the countless other similar applications, we are at work on a solution that will be quick and easy for users while not so trivial for us developers (as it should be, of course)! Basically it will be an extension to the browser add-on in the CapCal client that allows fields or links in the browser to be identified and grouped so they can be dynamically accessed at runtime by each virtual user and manipulated by a new command called "Click-On".  I can't divulge the magical powers of this new command until they fully exist and have been confirmed by users.  But suffice it to say that it will easily solve the seat selection problem and that's what matters most right now!&lt;br /&gt;&lt;br /&gt;I'm especially excited about this because it is true &lt;span style="font-weight: bold;"&gt;automation&lt;/span&gt;, with no manual intervention at all other than writing the extraction query or identifying the dynamic fields in the browser and recording the session template.    Add to that the enormous economies of scale made possible by the cloud and all of a sudden something that has never been done effectively (if at all, as in the case of dynamic client content) can suddenly be done very thoroughly and cost effectively with no manual intervention.&lt;br /&gt;&lt;br /&gt;Simple, powerful and clean - like soap and AJAX!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5825893890404689105?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5825893890404689105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/07/meeting-challenge-of-dynamic-content.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5825893890404689105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5825893890404689105'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/07/meeting-challenge-of-dynamic-content.html' title='Handling the Dirty Work of Dynamic Content'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/Sle2tlGLnkI/AAAAAAAAASk/jfYDqOCn70A/s72-c/SoapAjax.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5019872921007396574</id><published>2009-07-02T14:50:00.000-07:00</published><updated>2009-07-18T20:19:08.125-07:00</updated><title type='text'>How Much Did Michael Jackson Rock the Web?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sk0uo2PthSI/AAAAAAAAAR0/VURCMNqCm5U/s1600-h/lean.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 232px; height: 269px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sk0uo2PthSI/AAAAAAAAAR0/VURCMNqCm5U/s400/lean.jpg" alt="" id="BLOGGER_PHOTO_ID_5353986811304445218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bits.blogs.nytimes.com/2009/07/02/michael-jackson-rocked-the-web-but-how-much/?hpw"&gt;This&lt;/a&gt; story in today's &lt;span style="font-weight: bold;"&gt;New York Times&lt;/span&gt; gave some meat to the rumor that Michael Jackson's death wreaked considerable havoc on the Wild Wild Web.  One of the metrics that stood out for me was that Yahoo experienced 800,000 clicks in the first 10 minutes,  &lt;span style="font-weight: bold;"&gt;breaking their previous record&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;This is copied from the &lt;a href="http://ycorpblog.com/2009/06/26/losing-michael-jackson/"&gt;Yahoo corporate blog&lt;/a&gt; :&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;The passing of the &lt;/span&gt;&lt;a style="font-style: italic;" href="http://new.music.yahoo.com/michael-jackson/" ywaonclickoverride="true"&gt;King of Pop&lt;/a&gt;&lt;span style="font-style: italic;"&gt; set multiple records across Yahoo!. On  our front page, the story &lt;/span&gt;&lt;a style="font-style: italic;" href="http://news.yahoo.com/s/nm/20090625/en_nm/us_jackson_3" ywaonclickoverride="true"&gt;“Michael Jackson rushed to hospital”&lt;/a&gt;&lt;span style="font-style: italic;"&gt; was the  highest clicking story in our history. It generated a whopping 800,000 clicks  within 10 minutes and news of his death saw 560,000 clicks in 10 minutes. Also,  the news area on our front page experienced five times the amount of traffic it  normally receives. &lt;/span&gt; &lt;p style="font-style: italic;"&gt;Yahoo! News set an all-time record in unique visitors with 16.4 million  people, surpassing our previous record of 15.1 million visitors on election day.  Four million people visited the site between 3-4pm Pacific time, setting an  hourly record. We also recorded 175 million page views yesterday, our fourth  highest after Inauguration Day, the day after the Inauguration, and Hurricane  Ike. &lt;/p&gt;Michael Jackson's hospital visit generated more traffic than the election of the first black president in history!  (Or should that be HIStory)?  Wow.&lt;br /&gt;&lt;br /&gt;I'm thinking of offering an "800,000 clicks in 10 minutes" test and naming it after the King of Pop, what do you think?   There would be the Michael Jackson test, the Inauguration Day test and the Hurricane Ike test.   Take your pick.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5019872921007396574?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5019872921007396574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/07/how-much-did-michael-jackson-rock-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5019872921007396574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5019872921007396574'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/07/how-much-did-michael-jackson-rock-web.html' title='How Much Did Michael Jackson Rock the Web?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/Sk0uo2PthSI/AAAAAAAAAR0/VURCMNqCm5U/s72-c/lean.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-1768304839578798490</id><published>2009-07-02T09:23:00.000-07:00</published><updated>2009-07-10T18:42:24.182-07:00</updated><title type='text'>Why Self-Service and On-Demand are Critical</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SlYtPWpuC8I/AAAAAAAAASM/-4Gfd0Wvc-k/s1600-h/Capacity+Profile.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 325px; height: 400px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SlYtPWpuC8I/AAAAAAAAASM/-4Gfd0Wvc-k/s400/Capacity+Profile.JPG" alt="" id="BLOGGER_PHOTO_ID_5356518548605635522" border="0" /&gt;&lt;/a&gt;Last week I got a call from the senior developer at an online retailer with an urgent request - they were seeing errors in production at load levels higher than they could generate in the lab and needed to do some very large load tests &lt;span style="font-weight: bold;"&gt;immediately&lt;/span&gt;.  I instantly put myself in his shoes and imagined how I would feel if it were my server and the word "immediately" took on a very visceral meaning!&lt;br /&gt;&lt;br /&gt;Within an hour and a half we had negotiated the business terms and he had been trained on CapCal and was building and running his own tests! To make sure each user and session was unique, he created a few thousand test accounts and generated a CapCal replacement data set with user id, password and so forth. That took a couple hours, and then to make a short story even shorter a series of 5,000 user load tests using 10 Amazon instances uncovered a bug in their PHP framework that was causing the errors.  Problem solved! (After hours of re-coding and unit testing that is).&lt;br /&gt;&lt;br /&gt;They'll be spending a week or two doing more testing now that they've solved their immediate problem.  They want to reach 150,000 simultaneous users while maintaining sub-second response times with no errors, which is pretty awesome in itself.  What's even more awesome is how quickly and easily that kind of load is generated by CapCal using the Amazon cloud!&lt;br /&gt;&lt;br /&gt;Click on the chart above and see how quickly it ramps from 1 to 5,000 in the Users column with excellent response times and zero errors.  But at about 3 minutes into the test, server errors begin showing up and rapidly climb.  Response times hardly degrade at all, which once again reminds us that scalability and performance go hand in hand but scalability is king!&lt;br /&gt;&lt;br /&gt;I hope to get permission to publish their name and get a quote for the blog but I have to say that this particular developer is extremely bright and caught on to CapCal faster than practically anyone I've ever seen.  But even mere mortals are capable of getting the same results in the same amount of time since there's no programming involved.&lt;br /&gt;&lt;br /&gt;The buzz around here now is about moving CapCal to EC2 and running load tests on itself to test the autoscaling and load balancing features.  Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-1768304839578798490?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/1768304839578798490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/07/why-self-service-and-on-demand-are.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1768304839578798490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1768304839578798490'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/07/why-self-service-and-on-demand-are.html' title='Why Self-Service and On-Demand are Critical'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SlYtPWpuC8I/AAAAAAAAASM/-4Gfd0Wvc-k/s72-c/Capacity+Profile.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6187400863174672963</id><published>2009-06-16T10:37:00.001-07:00</published><updated>2009-07-09T09:56:18.373-07:00</updated><title type='text'>How to Crash an Airline Site in 3 Minutes or Less</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SjfYi5Z_dHI/AAAAAAAAARU/p2UljAekcTo/s1600-h/AirlineCrash.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 396px; height: 466px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SjfYi5Z_dHI/AAAAAAAAARU/p2UljAekcTo/s400/AirlineCrash.JPG" alt="" id="BLOGGER_PHOTO_ID_5347981176562742386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is the second time on this blog where the words "airline" and "crash" are used together but fortunately we are referring to websites, not airplanes (see &lt;a href="http://capcalblog.blogspot.com/2009/05/pet-airways-crashes-on-opening-day.html"&gt;Pet Airways Crashes on Opening Day&lt;/a&gt;).  The above graph shows the results of a CapCal Crash Test on a new promotional site for one of the major airlines (sorry, I can't use their name without legal approval).&lt;br /&gt;&lt;br /&gt;There are only two pages in this test, the first one going to the main page and the next one submitting a registration form.  The objective of a crash test is not to actually to crash the site but to find the point at which performance starts taking a nosedive (there's that airplane thing again). "Good" response time is less than a second, where "bad" starts at about 2 seconds and goes up.  (These aren't subjective measures as much as the result of having run thousands of tests and seeing the same pattern over and over - usually after it reaches 2 seconds it goes up rapidly from there).&lt;br /&gt;&lt;br /&gt;This one was able to retain good response time until it reached around 400 users.  At that point you can see the "hockey stick" effect in the red bars on the right that reach 6 seconds at about 1,340 users.  At 2,000 users, most people would think the site was offline and go somewhere else.  For all intents and purposes it has crashed, even though it is still handling requests.  Since the average response time is 6 seconds, some of the pages are probably taking more than 10.  Life is much too short for slow web apps.&lt;br /&gt;&lt;br /&gt;However, have a look at the Site Errors column to the left of the green bars - at a little over 1,000 users the server starts generating errors, and those can be even worse than slow response times.  Don't you just hate it when you get a "500 server error" after you've patiently filled in all the fields in a form?  Wouldn't you hate it even more if you were the airline or the company that put together the web site?  That's why scalability and performance go hand and hand but scalability is king!&lt;br /&gt;&lt;br /&gt;The site we tested was a staging site that mirrors the production site so this is what they can realistically expect to see in production.  This test used five small Amazon instances so the cost was negligible.  Not too shabby for something that could prevent a million dollar disaster if the promotional campaign itself flopped because of a glitch in the web site!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6187400863174672963?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6187400863174672963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/06/what-airline-crash-looks-like-site-that.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6187400863174672963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6187400863174672963'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/06/what-airline-crash-looks-like-site-that.html' title='How to Crash an Airline Site in 3 Minutes or Less'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SjfYi5Z_dHI/AAAAAAAAARU/p2UljAekcTo/s72-c/AirlineCrash.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-8906911966944186416</id><published>2009-06-13T15:12:00.000-07:00</published><updated>2009-06-17T18:44:57.946-07:00</updated><title type='text'>Integrated Performance Testing in Action</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SjQzJSXCfXI/AAAAAAAAARM/oomGnVw5Bcw/s1600-h/functional.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 208px; height: 259px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SjQzJSXCfXI/AAAAAAAAARM/oomGnVw5Bcw/s400/functional.JPG" alt="" id="BLOGGER_PHOTO_ID_5346954892235930994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Automated functional testing, for someone who is watching it for the first time, is quite amazing.  What would take a person hours to do by hand flashes before you on the screen within minutes.  It's that phenomenal time savings and increased test coverage that makes it worthwhile, but the "while" part is the rub - if you end up spending all your time maintaining the test scripts as the application changes, the time savings starts to degrade to the point of ever diminishing returns.&lt;br /&gt;&lt;br /&gt;So obviously making the tests easier to create and maintain is a huge leap forward, but if you have to turn around and create performance tests using a DIFFERENT tool you are faced with the same dilemma if not worse.  Take the HP Mercury suite as an example - QuickTest Professional uses a scripting engine based on VBScript, while LoadRunner uses the C language as its basis.  In other words, maintaining a load testing script can very often require more technical expertise than it took to write the application itself!&lt;br /&gt;&lt;br /&gt;One of the major differences between functional and performance testing is that functional testing can be done manually while it is extremely difficult and unwieldy to do performance testing that way.  That doesn't mean that people haven't tried it, and the thought of coordinating dozens of people to perform a load test would be funny if it weren't so absurd - in fact it was only last year that I heard of a case where this was being done at a major corporation for lack of a suitable load testing tool.&lt;br /&gt;&lt;br /&gt;But even with a load testing tool at your disposal, if you've already invested in functional test automation doesn't it seem bizarre that you would have to turn around and duplicate all that cost and effort just to do performance testing?  Sure, there are some major differences between functional and performance testing but that doesn't mean that an entirely different tool with its own language is necessary.  It's evolved that way for historical reasons that have a lot more to do with the search for more revenue by test tool vendors than the search for more efficient testing methodologies.&lt;br /&gt;&lt;br /&gt;If you could use a subset of your functional tests for performance testing not only would it save time and money but you could be many times more productive and efficient in your testing cycle.  That's what we call "integrated performance testing" and it involves capturing an automated functional test while it is running and then immediately using it to create and execute a performance test.  Not only have you saved the time and money involved in writing and maintaining a separate set of tests but you've also made sure that both kinds of testing get done at the same time.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.capcal.com/ITA-Certify.wmv"&gt;Here&lt;/a&gt; you can see a screen recording of an automated Worksoft Certify test being run with CapCal Integrated Performance Testing.  The demo shows batch command execution because that is how these tests will be integrated into the nightly build cycle.  However, we've also tested with HP QuickTest Pro, Compuware QA Tester and Automated QA Test Complete.  For a proof of concept in your own environment with whatever tool you are using, just write to info@capcal.com and someone will get right back to you!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-8906911966944186416?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/8906911966944186416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/06/integrated-performance-testing-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8906911966944186416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8906911966944186416'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/06/integrated-performance-testing-in.html' title='Integrated Performance Testing in Action'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SjQzJSXCfXI/AAAAAAAAARM/oomGnVw5Bcw/s72-c/functional.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-1250654596493080654</id><published>2009-06-10T16:25:00.000-07:00</published><updated>2009-06-11T11:11:36.957-07:00</updated><title type='text'>What the Cloud  Really Looks Like</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SjBEIR-9cEI/AAAAAAAAAQ0/sMddaACL8do/s1600-h/14search_500.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 336px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SjBEIR-9cEI/AAAAAAAAAQ0/sMddaACL8do/s400/14search_500.jpg" alt="" id="BLOGGER_PHOTO_ID_5345847666745897026" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.nytimes.com/2009/06/14/magazine/14search-t.html?hp"&gt;This&lt;/a&gt; article today in New York Times online was an interesting read.  Called "Data Center Overload", it gives a good overview of data centers in general and talks about cloud computing too.  Besides the huge amount of space and power these things consume, the subject of latency (or the time it takes to get a packet from Point A to Point B) was also covered.&lt;br /&gt;&lt;br /&gt;As it turns out, nowhere is latency more critical than in financial trading, where seconds can make the difference between a million dollar trade won or lost.  One of the data points that intrigued me the most was this one:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Latency concerns are not limited to Wall Street; it is estimated that a  100-millisecond delay reduces Amazon’s sales by 1 percent&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;One percent of total sales for 100 milliseconds?&lt;br /&gt;&lt;br /&gt;Let that sink in for a moment.&lt;br /&gt;&lt;br /&gt;That just boggles the mind.  Do you suppose that performance testing is practiced as it should be at Amazon?  I certainly hope so!&lt;br /&gt;&lt;br /&gt;Another interesting tidbit was that Amazon Web Services now uses more bandwidth than Amazon's massive retailing operations.  If that doesn't point to where the cloud is heading, I don't know what does!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-1250654596493080654?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/1250654596493080654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/06/data-center-overload-what-cloud-looks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1250654596493080654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1250654596493080654'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/06/data-center-overload-what-cloud-looks.html' title='What the Cloud  Really Looks Like'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SjBEIR-9cEI/AAAAAAAAAQ0/sMddaACL8do/s72-c/14search_500.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-3719997265760646918</id><published>2009-06-10T08:22:00.000-07:00</published><updated>2009-06-10T09:02:09.133-07:00</updated><title type='text'>On Finding a Home in the Cloud</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/Si_Y_BLkVwI/AAAAAAAAAQs/kVo5NECchcg/s1600-h/CloudHome.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 99px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/Si_Y_BLkVwI/AAAAAAAAAQs/kVo5NECchcg/s400/CloudHome.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5345729859872380674" /&gt;&lt;/a&gt;&lt;br /&gt;Load testing is obviously a perfect fit for the Amazon Cloud - need 1,000 computers for a big test?  Just spin them up, use them, and tear them down.  To deliver that same capability, CapCal once had over 10,000 people around the world running our agent for $0.30 per hour of testing. A small Linux instance on Amazon EC2 costs $0.12, almost 1/3 the cost!  We didn't pay for bandwidth, though, and that was the main attraction.  But they weren't as secure and reliable as the Amazon agents, and that makes all the difference!&lt;br /&gt;&lt;br /&gt;Load testing is also called stress testing, performance testing, volume testing, scalability testing and so forth, all of which refer more to the objective than the means.  But what about other kinds of testing, like functional and regression testing?  Do they have a Home in the Cloud as well?&lt;br /&gt;&lt;br /&gt;Of course they do!  Actually anything but unit testing and manual testing can be done on the cloud and should if you read the post below this one. Running functional and regression tests takes time, and time can be squeezed out of the cycle if you can throw more computers at it.  Generally people do unit testing, then functional and regression testing, and then performance testing.  But the ugly truth is that performance testing either a) doesn't get done at all or b) gets done at a point where it's too late to make changes.  &lt;br /&gt;&lt;br /&gt;Why is that?  We'll be answering that question and showing some examples of a different approach in the next few posts so y'all come back now!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-3719997265760646918?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/3719997265760646918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/06/on-finding-home-in-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3719997265760646918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3719997265760646918'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/06/on-finding-home-in-cloud.html' title='On Finding a Home in the Cloud'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/Si_Y_BLkVwI/AAAAAAAAAQs/kVo5NECchcg/s72-c/CloudHome.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-1641314044234870366</id><published>2009-06-04T19:18:00.000-07:00</published><updated>2009-06-05T15:14:02.257-07:00</updated><title type='text'>The Test Lab is Dead - Long Live the Test Lab!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SiiB3mdio8I/AAAAAAAAAQk/SvANO187YTM/s1600-h/image_preview.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SiiB3mdio8I/AAAAAAAAAQk/SvANO187YTM/s400/image_preview.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5343663750092334018" /&gt;&lt;/a&gt;&lt;br /&gt;A test lab, as I define it, is a room with nothing but computers which may or may not include desk space for testers. I’ve seen more than I can count and you have too if you have been doing test automation for any length of time. &lt;br /&gt;&lt;br /&gt;Earlier test labs had a person at each computer, which was even more wasteful – not only are you taking up space and filling it with expensive hardware, but you’ve got people doing mind-numbing, repetitive work. Nowadays test labs are used only for automation if they are used correctly – manual and acceptance testing can be done at the user desktop instead of the lab.&lt;br /&gt;&lt;br /&gt;Cloud computing is on track to replace ALL those machines and free up ALL the space they occupy, a forward leap just as huge as the leap of automation; first we replaced people, now we are replacing machines. It makes perfect sense if you think about it, and yet it is just starting to dawn on people that we can do this. &lt;br /&gt;&lt;br /&gt;The cost and space savings combined with the dramatic increase in productivity and throughput is astounding. So if nothing else, software testing is a “killer app” or “poster child” for cloud computing; nowhere else are the benefits so obvious and immediate.&lt;br /&gt;&lt;br /&gt;But the tools haven’t caught up yet for the most part, with a couple notable exceptions. CapCal is one, of course, and we've seen SOASTA CloudTest. I'm sure other companies have projects in the works and announcements will probably be forthcoming. But what kinds of things can you do right now that take advantage of the cloud to increase your testing coverage and reduce your costs at the same time?&lt;br /&gt;&lt;br /&gt;For one thing, virtualization already provides a huge reduction in the amount of hardware needed for a test lab and that’s good. So maybe instead of an entire room, just a corner or a wall might be used. Then it’s simply a matter of doing the math to see if the cloud is cheaper and usually it turns out to be. In general terms, if a computer is not being operated by a human being it should also not take up space. &lt;br /&gt;&lt;br /&gt;The cloud will bring up some interesting licensing challenges once people realize they can install software on one instance and duplicate that instance as many times as they want. Windows itself is covered, of course, since Amazon pays them. Everyone else has to trust their users to abide by the same restrictions applied to making physical copies, where these are virtual.&lt;br /&gt;&lt;br /&gt;In this series, we’re going to explore some real life cases of testing as a service in the cloud. So keep on coming back!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-1641314044234870366?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/1641314044234870366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/06/test-lab-is-dead-long-live-test-lab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1641314044234870366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1641314044234870366'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/06/test-lab-is-dead-long-live-test-lab.html' title='The Test Lab is Dead - Long Live the Test Lab!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SiiB3mdio8I/AAAAAAAAAQk/SvANO187YTM/s72-c/image_preview.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7156098505357397459</id><published>2009-05-27T15:04:00.000-07:00</published><updated>2009-05-28T16:25:38.783-07:00</updated><title type='text'>Amazon Meet SAP - SAP Meet Amazon!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sh2-IrMAPXI/AAAAAAAAAP0/aVEzBQNcPOE/s1600-h/logo_aws.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 164px; height: 60px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sh2-IrMAPXI/AAAAAAAAAP0/aVEzBQNcPOE/s200/logo_aws.gif" alt="" id="BLOGGER_PHOTO_ID_5340633789372579186" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sh29rzDJWfI/AAAAAAAAAPs/0lL0Z9rot_k/s1600-h/SAPLogo.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 73px; height: 36px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sh29rzDJWfI/AAAAAAAAAPs/0lL0Z9rot_k/s400/SAPLogo.gif" alt="" id="BLOGGER_PHOTO_ID_5340633293266704882" border="0" /&gt;&lt;/a&gt;Only the biggest companies with the biggest IT budgets use SAP and they use it to run their businesses, both internal and customer facing.  SAP supports a wide range of client protocols, from HTML to Flex to Adobe Interactive Forms, but the core UI is still the venerable &lt;span style="font-weight: bold;"&gt;SAPGUI for Windows&lt;/span&gt;, now at version 7.10.  Until now, CapCal has only supported HTML and Flex, but going into beta this week is &lt;span style="font-weight: bold;"&gt;CapCal for SAPGUI, &lt;/span&gt;which of course means &lt;span style="font-weight: bold;"&gt;CapCal for SAPGUI on the Amazon Cloud&lt;/span&gt; (another first in case anyone is counting).&lt;br /&gt;&lt;br /&gt;Many SAP customers have thousands of employees and hundreds of thousands if not millions of customers themselves.  So let's say a company has 30,000 employees and all of them have access to one or more SAP applications (HR, sales orders, invoices, inventory, etc).  How do they know when they implement a new patch or upgrade that their performance or scalability won't be impacted?&lt;br /&gt;&lt;br /&gt;They don't, really, except for running relatively small load tests in the lab with a tool like HP LoadRunner.   Ask HP what it would cost to do a single 30,000 user load test with the SAP protocol and let me know what they say, will you?&lt;br /&gt;&lt;br /&gt;If the answer is less than $100,000 I will be very surprised, plus the number of computers that the LoadRunner agent would have to be installed on would be somewhere between 200 and 300.  So just the prep work and setup could take a week or two if not more.  As far as I know, nothing above 2,000 simultaneous users has ever been done - someone correct me if I'm wrong!  That in itself could take dozens of computers at least.&lt;br /&gt;&lt;br /&gt;With &lt;span style="font-weight: bold;"&gt;CapCal for SAPGUI&lt;/span&gt;,  just record a session in the GUI and press the Run button - whether the test runs on the local machine, on other machines in the network, or on the Amazon Cloud it will begin executing within seconds.  How many agents are needed is a function of the total number of virtual users required divided by the maximum number of SAP sessions allowed per machine, usually about 100.  So 30,000 users would require 300 agents, which will spawn automatically for the duration of the test and terminate at the end.&lt;br /&gt;&lt;br /&gt;The CapCal Blog now has a sister edition on the SAP Developer Network and we'll be posting the links here on the main blog as well.  So please check back for the latest on&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;CapCal Cloudburst for SAP&lt;/span&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7156098505357397459?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7156098505357397459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/amazon-meet-sap-sap-meet-amazon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7156098505357397459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7156098505357397459'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/amazon-meet-sap-sap-meet-amazon.html' title='Amazon Meet SAP - SAP Meet Amazon!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/Sh2-IrMAPXI/AAAAAAAAAP0/aVEzBQNcPOE/s72-c/logo_aws.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-4829289645641513175</id><published>2009-05-19T08:48:00.001-07:00</published><updated>2009-05-28T14:00:07.380-07:00</updated><title type='text'>SOASTA Declines CapCal Challenge!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/ShLe1rep8rI/AAAAAAAAAPc/z7tcdbEzszU/s1600-h/gorilla.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 344px; height: 282px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/ShLe1rep8rI/AAAAAAAAAPc/z7tcdbEzszU/s400/gorilla.png" alt="" id="BLOGGER_PHOTO_ID_5337573522173194930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you followed the comments on the &lt;span style="font-weight: bold;"&gt;Geeks Are Sexy&lt;/span&gt; blog &lt;a href="http://www.geeksaresexy.net/2009/05/14/web-performance-load-testing-cloud/"&gt;post&lt;/a&gt;, you saw that someone named Brad from &lt;span style="font-weight: bold;"&gt;SOASTA, &lt;/span&gt;"the Cloud Testing Authority", left a rather odd comment about how a million users happens all the time, just not all at once.  It's the "all at once" part that's the point - give me enough time and I'll do a trillion user load test!  Just ask the Election Commission in India who got &lt;span style="font-weight: bold;"&gt;8.6 trillion hits&lt;/span&gt; over &lt;span style="font-weight: bold;"&gt;8 hours &lt;/span&gt;and it &lt;span style="font-weight: bold;"&gt;flatlined&lt;/span&gt; the server &lt;a href="http://capcalblog.blogspot.com/2009/05/election-commission-website-in-india.html"&gt;yesterday&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Anyway, I challenged Brad to a contest to see who could reach the million user mark the fastest in a way that could be fairly judged by a third party and he &lt;span style="font-weight: bold;"&gt;declined&lt;/span&gt;, calling it a "scientific experiment".  Where I come from it's called "competition", and in this case the competition is really not either one of us, it's the &lt;span style="font-weight: bold;"&gt;800 pound gorilla&lt;/span&gt; in the load testing space, HP, who is not going to watch idly as their &lt;span style="font-weight: bold;"&gt;LoadRunner&lt;/span&gt; franchise evaporates.  SOASTA may think of themselves as the 800 pound gorilla in the cloud testing space, but I say the cloud testing space is too new for a gorilla.  A baby gorilla or two,  maybe,  but no 800 pound gorillas.&lt;br /&gt;&lt;br /&gt;CapCal has the decided advantage of having been around longer and having designed for a much more challenging "cloud", the Internet, and a lot of those earlier decisions and trade-offs are starting to pay off in a big way on the Amazon cloud.  I don't know if SOASTA uses a Windows agent or a Linux agent but if it's Windows we could easily have a 10 to 1 advantage!  Windows takes too much network and disk time to copy, takes too long too boot up, requires too much memory, and is more restrictive than Linux.  And even if your agent runs on Linux, how you scale and control your agents has a lot to do with how many virtual users you can handle on a given instance, for example.&lt;br /&gt;&lt;br /&gt;Either it seems obvious or counter-intuitive, but an application that tests the performance and scalability of other apps can &lt;span style="font-weight: bold;"&gt;itself&lt;/span&gt; have performance and scalability issues, and these kinds of things only come out at really high load levels.  This is where &lt;span style="font-weight: bold;"&gt;CapCal &lt;/span&gt;has had lots of attention focused and a lot of work done - the scalability of the controller-agent design has proven itself over and over again to be virtually limitless.  Even so, the very first million user test - a record that will stand until someone else beats it - &lt;span style="font-weight: bold;"&gt;will &lt;/span&gt;be a challenge, and it will be reported here "live", so come back soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-4829289645641513175?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/4829289645641513175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/soasta-declines-capcal-challenge.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4829289645641513175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4829289645641513175'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/soasta-declines-capcal-challenge.html' title='SOASTA Declines CapCal Challenge!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/ShLe1rep8rI/AAAAAAAAAPc/z7tcdbEzszU/s72-c/gorilla.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-4205868371172366216</id><published>2009-05-18T18:37:00.000-07:00</published><updated>2009-05-19T10:27:47.032-07:00</updated><title type='text'>Election Commission Website in India Crashes</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/ShIPkGMHKqI/AAAAAAAAAPU/J-ex974E8JI/s1600-h/India+-+Taj+Mahal+at+dawn.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 272px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/ShIPkGMHKqI/AAAAAAAAAPU/J-ex974E8JI/s400/India+-+Taj+Mahal+at+dawn.jpg" alt="" id="BLOGGER_PHOTO_ID_5337345621198580386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;India Times&lt;/span&gt; reported today that the Election Commission website had &lt;span style="font-weight: bold;"&gt;crashed&lt;/span&gt; because they "had not anticipated so many hits".   Apparently they were only prepared for 2,800 hits per second and got 3 &lt;span style="font-weight: bold;"&gt;lakh&lt;/span&gt; hits per second resulting in "complete breakdown of  the server,"  according to &lt;a href="http://timesofindia.indiatimes.com/India/3-lakh-hits-per-second-make-EC-website-crash/articleshow/4543753.cms"&gt;this&lt;/a&gt; article.&lt;br /&gt;&lt;br /&gt;I don't know what a lakh is, do you?  All I know is that it's &lt;span style="font-weight: bold;"&gt;8.64 &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;trillion&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; hits&lt;/span&gt; in eight hours at 3 lakhs per second so go figure it for yourself.  Deputy election commissioner Alok Shukla said  "I will not leave office till it is  fixed", but the servers "could not be fixed till late into the night".  Sound familiar to anyone?&lt;br /&gt;&lt;br /&gt;How funny that I was just here rattling on about government websites a few minutes ago and now I find this little nugget nestled in my inbox!&lt;br /&gt;&lt;br /&gt;So governments and militaries, like celebrities and businesses, are also exposed to the "common crash".   Just how common it is can be easily seen if you check back here every day or two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-4205868371172366216?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/4205868371172366216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/election-commission-website-in-india.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4205868371172366216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4205868371172366216'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/election-commission-website-in-india.html' title='Election Commission Website in India Crashes'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/ShIPkGMHKqI/AAAAAAAAAPU/J-ex974E8JI/s72-c/India+-+Taj+Mahal+at+dawn.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6706039382657580865</id><published>2009-05-18T14:51:00.000-07:00</published><updated>2009-05-18T19:42:18.883-07:00</updated><title type='text'>Life, Liberty and the Pursuit of Mega Loads</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/ShHcqEhV8uI/AAAAAAAAAPM/qtuNNFwC0VA/s1600-h/american-flag-wall-art.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 141px; height: 111px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/ShHcqEhV8uI/AAAAAAAAAPM/qtuNNFwC0VA/s400/american-flag-wall-art.jpg" alt="" id="BLOGGER_PHOTO_ID_5337289648736957154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If I ran a million user load test on somebody's site without permission I  could be sued, so I would never do that.  But what about public web sites, the ones my tax dollars are paying for?  Shouldn't I have the right to know about their scalability and responsiveness?&lt;br /&gt;&lt;br /&gt;It seems to me that I do, but that doesn't mean I'll be testing the IRS site anytime soon.  Is there some federal department that isn't so important that wouldn't object to being the subject of some scientific research?  Or does "unimportant federal department" sound redundant to you?&lt;br /&gt;&lt;br /&gt;Speaking of scientific research, don't you think the military should have the most solid web infrastructure on the planet?  Not that they are prone to sudden usage spikes caused by young men wanting to sign up for the war or anything.  In fact I've never seen www.army.gov so I'll have to pause this blog post for now and come back after I do.&lt;br /&gt;&lt;br /&gt;Well, for one thing it's a .mil extension instead of a .gov but you can even sign up online from the looks of it!  That would be a great trick to play on your college roomate, wouldn't it?  "Guess what?  You're shipping out to Afghanistan at 04:00 hours tomorrow, soldier"!&lt;br /&gt;&lt;br /&gt;Seriously, the Army has not adopted much Web 2.0 yet so they are lagging way behind.  "Tweets from the Trenches" haven't appeared, nor has "GreasePaint Facebook".  I didn't dare to read the blog, however, but if you do you are welcome to post about it here.&lt;br /&gt;&lt;br /&gt;So what is the verdict?  Do I have the right, if not the duty, as a tax paying American citizen to ensure that the US Army web site is up to government standards?  And what, pray tell, are those?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6706039382657580865?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6706039382657580865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/life-liberty-and-pursuit-of-mega-loads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6706039382657580865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6706039382657580865'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/life-liberty-and-pursuit-of-mega-loads.html' title='Life, Liberty and the Pursuit of Mega Loads'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/ShHcqEhV8uI/AAAAAAAAAPM/qtuNNFwC0VA/s72-c/american-flag-wall-art.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-708841695239233584</id><published>2009-05-18T10:49:00.000-07:00</published><updated>2009-05-18T12:53:59.096-07:00</updated><title type='text'>Idle HANDS are the Devil's Tools, not Servers!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/ShGpfyLLq0I/AAAAAAAAAPE/zrQAJ7rq2Rk/s1600-h/devilmainae807a87-e081-227f-dad367ce15cb7297large2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 163px; height: 163px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/ShGpfyLLq0I/AAAAAAAAAPE/zrQAJ7rq2Rk/s400/devilmainae807a87-e081-227f-dad367ce15cb7297large2.jpg" alt="" id="BLOGGER_PHOTO_ID_5337233396920462146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If "peak provisioning" refers to the capacity necessary to handle peak work loads, then I suppose "idle provisioning" is what is necessary to handle a very small load.  We already know what peak performance is, and that is what a single user sees on a single server with a 1GB connection.  The only thing standing in the way of delivering that to every user is capacity, and as long as capacity is elastic like it is on EC2 we are pretty much there, right?&lt;br /&gt;&lt;br /&gt;Well the devil is in the details, of course, and there are tons of details to take into consideration.  Web servers scale far easier than database servers, for example.  And Amazon has yet to announce support for load balancing although there are third party alternatives.  Finally, autoscaling servers is one thing, bandwidth is another - slowdowns can occur at either the server or the network layer, so scalability must take both into account in order to deliver "sub second response time regardless of load".&lt;br /&gt;&lt;br /&gt;Fortunately, this is one of the many benefits of EC2 cloud computing, knowing that your app will never be starved for bandwidth and you won't have to shell out thousands per month for a dedicated OC3 or anything.  You only pay for the extra bandwidth when you need it, just like the extra servers.&lt;br /&gt;&lt;br /&gt;Haven't heard back yet from Todd at High Scalability but I think some of the techniques being discussed on his blog are perfect for cloud computing, with things like "database shards" that allow databases to be far more scalable.  This will be a critical factor in the success of cloud computing, just as it is for &lt;span style="font-weight: bold;"&gt;bare metal&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;Bare Metal? Bear Medal?  See how it easy it is to confuse these things?  But cloud computing is not confusing at all - extra capacity on demand.  What's so hard about that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-708841695239233584?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/708841695239233584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/idle-hands-are-devils-tools-not-servers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/708841695239233584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/708841695239233584'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/idle-hands-are-devils-tools-not-servers.html' title='Idle HANDS are the Devil&apos;s Tools, not Servers!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/ShGpfyLLq0I/AAAAAAAAAPE/zrQAJ7rq2Rk/s72-c/devilmainae807a87-e081-227f-dad367ce15cb7297large2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-865940048431981932</id><published>2009-05-16T21:49:00.000-07:00</published><updated>2009-05-18T13:04:31.013-07:00</updated><title type='text'>Sub-second Responses Regardless of Load</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/ShGo0ngdOJI/AAAAAAAAAO8/LIcGOwNFg1Y/s1600-h/vector-bar-chart-%28column-diagram%29.-thumb4139235.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 129px; height: 179px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/ShGo0ngdOJI/AAAAAAAAAO8/LIcGOwNFg1Y/s400/vector-bar-chart-%28column-diagram%29.-thumb4139235.jpg" alt="" id="BLOGGER_PHOTO_ID_5337232655322527890" border="0" /&gt;&lt;/a&gt;Back to this again, which I believe sums up the benefit of cloud computing to end users pretty well - &lt;span style="font-weight: bold;"&gt;sub second response times regardless of load&lt;/span&gt;.  It was only by going virtual that we could achieve this, of course, since before that every computer required its own box.  Virtualization was the big breakthrough that cloud computing so adroitly exploits.  To me, cloud computing has every bit of the same excitement as the Web itself - possibilities have suddenly &lt;span style="font-weight: bold;"&gt;multiplied &lt;/span&gt;while the number of physical resources required will actually &lt;span style="font-weight: bold;"&gt;shrink&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;If you ask me it means that computers are finally going to have to WORK for a living and I say &lt;span style="font-weight: bold;"&gt;it's about time&lt;/span&gt;!  The average server has a lot more horsepower than the mainframes of old and is almost always doing nothing but listening to port 80 and waiting for something to do.  Not so with cloud computing - those computers are doing &lt;span style="font-weight: bold;"&gt;real work&lt;/span&gt;,  since they wouldn't have even been summoned into being had there not been a demand for extra capacity.&lt;br /&gt;&lt;br /&gt;I am still confused about what Microsoft and Google are doing with their cloud computing initiatives.  It seems to be all about &lt;span style="font-weight: bold;"&gt;application hosting&lt;/span&gt; somehow, and we've had that in some form or other for eons.  What we haven't had is the ability to clone another instance on demand to share in the workload, which is a much more powerful concept.&lt;br /&gt;&lt;br /&gt;The net result of this will be that a lot fewer computers requiring a lot less space and power will be doing far more work than all the ones that presently exist are doing now.  All the "workhorse" apps  that many people rely on will run on the cloud instead of company-owned data centers or mainframes.  Anything that is tailored to the individual will run on the desktop,  notebook, smart phone, etc.&lt;br /&gt;&lt;br /&gt;Makes perfect sense to me!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-865940048431981932?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/865940048431981932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/sub-second-response-time-regardless-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/865940048431981932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/865940048431981932'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/sub-second-response-time-regardless-of.html' title='Sub-second Responses Regardless of Load'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/ShGo0ngdOJI/AAAAAAAAAO8/LIcGOwNFg1Y/s72-c/vector-bar-chart-%28column-diagram%29.-thumb4139235.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5085720058852898418</id><published>2009-05-15T06:30:00.000-07:00</published><updated>2009-05-20T15:30:31.461-07:00</updated><title type='text'>Grandpa Says the Web Used to CRASH!</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SguL5C0Ki1I/AAAAAAAAAOc/MZ2PfR8WFoA/s1600-h/5127164.thj.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 178px; height: 253px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SguL5C0Ki1I/AAAAAAAAAOc/MZ2PfR8WFoA/s400/5127164.thj.jpg" alt="" id="BLOGGER_PHOTO_ID_5335511995674954578" border="0" /&gt;&lt;/a&gt;I'm a grandpa, and that means I'll be able to tell my grandchildren and hopefully &lt;span style="font-weight: bold;"&gt;their &lt;/span&gt;children about the days when websites would just &lt;span style="font-weight: bold;"&gt;crash&lt;/span&gt; when too many people went to them!  Can you believe it? Like having your cell phone cut off without warning.    How &lt;span style="font-weight: bold;"&gt;strange &lt;/span&gt;that must have been!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It is pretty absurd if you think about it - the definition of success is system failure - but that's just the way it is with a non-elastic infrastructure. To borrow from cooking, it would be like a pressure cooker without a release valve - think of the experiments that must have gone awry in the early pressure cooker labs!&lt;br /&gt;&lt;br /&gt;Well, the Web is exactly like that - without an "overflow valve" that draws on extra capacity when needed, how can we EVER get past the problem of website crashes?  And forget about "peak provisioning", or having enough capacity on hand to meet peak loads - no matter what you imagine your "peak" to be, there is always more.&lt;br /&gt;&lt;br /&gt;I refer somewhere in this blog, at least a couple times, to "eating your own dog food" and how CapCal is being used not only to test its own capacity but to &lt;span style="font-weight: bold;"&gt;autoscale on demand&lt;/span&gt;.  To test this we will have to run some pretty big loads in different patterns to make sure we maintain &lt;span style="font-weight: bold;"&gt;sub second response times regardless of the load factor&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Sub second response times regardless of the load factor.  It almost sounds like a Perpetual Motion Machine if you think about it - a way to minimize your hardware resources while maximizing your capacity and performance.  To be &lt;span style="font-weight: bold;"&gt;crash-proof&lt;/span&gt; as well as &lt;span style="font-weight: bold;"&gt;small and nimble&lt;/span&gt; is the best of all worlds!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5085720058852898418?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5085720058852898418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/grandpa-says-web-used-to-crash.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5085720058852898418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5085720058852898418'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/grandpa-says-web-used-to-crash.html' title='Grandpa Says the Web Used to CRASH!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SguL5C0Ki1I/AAAAAAAAAOc/MZ2PfR8WFoA/s72-c/5127164.thj.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-8074004860491127832</id><published>2009-05-14T15:18:00.000-07:00</published><updated>2009-05-14T18:46:02.145-07:00</updated><title type='text'>Google Traffic Routing Issue Causes Global Outage!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SgyhTkrg65I/AAAAAAAAAO0/SBlZGgBXbbE/s1600-h/googlechart.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 119px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SgyhTkrg65I/AAAAAAAAAO0/SBlZGgBXbbE/s400/googlechart.JPG" alt="" id="BLOGGER_PHOTO_ID_5335817016162970514" border="0" /&gt;&lt;/a&gt;&lt;a href="http://hosted.ap.org/dynamic/stories/U/US_GOOGLE_SERVICE_DISRUPTIONS?SITE=TXDAM&amp;amp;SECTION=HOME&amp;amp;TEMPLATE=BUSINESS.html"&gt;This&lt;/a&gt; just in off the AP wire about a massive outage of Google's email and search engine services today due to "the routing of too much traffic through computers in Asia".  Those computers crashed, of course, because they got overloaded.  But if you read the article you understand that it effected the &lt;span style="font-weight: bold;"&gt;entire Web&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;That's right,  so many sites have links to their analytics and ad services that any glitch or slowdown at Google will cause a slowdown on every site that uses them!  Long page delays were rampant across the Internet during that time.  Even I noticed it when my gmail icon kept turning into a question mark as if scratching its head!&lt;br /&gt;&lt;br /&gt;This "spidering effect" shows how truly interconnected the Web is, and how a few overloaded computers in Asia somewhere can waste the time of hundreds of millions of people for an hour and cut untold numbers off from their email!  Check out &lt;a href="http://www.techcrunch.com/2009/05/14/googles-gets-its-own-fail-whale/"&gt;this&lt;/a&gt; article for what is described as a "fail whale" (that huge bulge you see in the graph above).&lt;br /&gt;&lt;br /&gt;Let's do the math - a hundred million is a small estimate of the total online population during that hour and let's say that each one wasted five minutes because of those poor computers in Asia.  That's a 500 million minutes, or 83,33,333 hours,  which is 347,222 days or &lt;span style="font-weight: bold;"&gt;951&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; years&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;When overloaded computers can waste &lt;span&gt;almost&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; a thousand &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;years&lt;/span&gt; of human time over the course of an hour long "fail whale"  it's probably time to devise a way to keep that from happening!  Or is it just me?&lt;br /&gt;&lt;br /&gt;Hmmmm...the term is kinda funny if you think about it.  "Artificially induced fail whales" anyone?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-8074004860491127832?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/8074004860491127832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/google-traffic-routing-issue-causes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8074004860491127832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8074004860491127832'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/google-traffic-routing-issue-causes.html' title='Google Traffic Routing Issue Causes Global Outage!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SgyhTkrg65I/AAAAAAAAAO0/SBlZGgBXbbE/s72-c/googlechart.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-62241522302843327</id><published>2009-05-14T15:17:00.000-07:00</published><updated>2009-05-18T11:45:13.305-07:00</updated><title type='text'>Geeks Really ARE Sexy and Here is the Proof!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.geeksaresexy.net/2009/05/14/web-performance-load-testing-cloud/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 141px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SgwuVkTMilI/AAAAAAAAAOk/JaRC6Jmkb1g/s400/geeks.JPG" alt="" id="BLOGGER_PHOTO_ID_5335690606583515730" border="0" /&gt;&lt;/a&gt;Any time you have a story about being the first to do something, the first one to publish the story becomes part of the story, and in this case the award goes to &lt;a href="http://www.geeksaresexy.net/2009/05/14/web-performance-load-testing-cloud/"&gt;Geeks are Sexy&lt;/a&gt;.  Dubbed as "tech, science, news and social issues for geeks", we think it's the ideal place for the First Million User load test to appear!&lt;br /&gt;&lt;br /&gt;The first ten readers who leave a response will receive a free "find your limits" test, details of which will be posted here on the CapCal blog.  Within an hour there were 8 so we will be starting on those right away.  With the permission of the participants we will post the test results here also.&lt;br /&gt;&lt;br /&gt;As we mentioned before, on the Web size really DOES matter when you are talking about what it takes to handle large numbers of visitors.  Maybe we can rename the promotion "Show Us Your Size", or would that be overly suggestive?&lt;br /&gt;&lt;br /&gt;Anyway, congrats to the folks at &lt;span style="font-weight: bold;"&gt;Geeks are Sexy&lt;/span&gt; for being the first to publish the story and thank you for a well written article!  Check back here for updates as they become available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-62241522302843327?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/62241522302843327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/geeks-really-are-sexy-and-here-is-proof.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/62241522302843327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/62241522302843327'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/geeks-really-are-sexy-and-here-is-proof.html' title='Geeks Really ARE Sexy and Here is the Proof!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SgwuVkTMilI/AAAAAAAAAOk/JaRC6Jmkb1g/s72-c/geeks.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2484567436132320474</id><published>2009-05-13T15:14:00.000-07:00</published><updated>2009-05-16T08:34:25.927-07:00</updated><title type='text'>Announcing the First Million User Load Test!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/Sgi4veJLmFI/AAAAAAAAANg/4-K07WeOqZU/s1600-h/Guiness.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 159px; height: 136px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/Sgi4veJLmFI/AAAAAAAAANg/4-K07WeOqZU/s400/Guiness.JPG" alt="" id="BLOGGER_PHOTO_ID_5334716884305287250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;There are lots of reasons nobody has ever done a load test with a million simultaneous virtual users and computer capacity is just one of them.  But with capacity on &lt;span&gt;the &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Amazon Elastic Cloud &lt;/span&gt;as virtually limitless as it is, &lt;span style="font-weight: bold;"&gt;CapCal&lt;/span&gt; is aiming to be the first ever to accomplish this feat.  There is, however, the slight problem of finding a company or individual with a sufficiently scalable website willing to be the first to actually prove it!&lt;br /&gt;&lt;br /&gt;Do we have any takers?&lt;br /&gt;&lt;br /&gt;Here are the details:&lt;br /&gt;&lt;br /&gt;You will record a "happy path" through your site using the CapCal client, at most 10 or 12 pages, and upload that to the CapCal server.  You will schedule a time you want the test to begin and it will ramp from 1 to a million users over 4 minutes and stay at one million for one minute.  That means that several million page hits will be registered over a 5 minute period - enough to flat line most sites!  The number of instances of the CapCal EC2 load agent necessary to pull this off will be calculated based on bandwidth but will be many hundreds for sure.&lt;br /&gt;&lt;br /&gt;We'll want to make a couple trial runs beforehand, say at 50,000 and 100,000.  For all I know it could take a few contenders before we find a site that can handle the load!  Lots of sites handle more than a million visitors a day but not all at once!&lt;br /&gt;&lt;br /&gt;One side benefit of doing this test is that we can see at what point either the servers start to falter or the pipe starts to clog.  My guess is that for most sites that number will be 100,000 or less but that's just a guess - we won't know without actually trying!  We'll do it in the wee hours, of course, so has not to disturb anything.&lt;br /&gt;&lt;br /&gt;If you are interested, please leave a comment here or send an email to info@capcal.com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2484567436132320474?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2484567436132320474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/first-million-user-load-test.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2484567436132320474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2484567436132320474'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/first-million-user-load-test.html' title='Announcing the First Million User Load Test!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/Sgi4veJLmFI/AAAAAAAAANg/4-K07WeOqZU/s72-c/Guiness.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6100712607179285498</id><published>2009-05-13T06:00:00.000-07:00</published><updated>2009-05-14T15:34:56.792-07:00</updated><title type='text'>When you think heavy loads, think Diapers.com!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgMiLVm0h3I/AAAAAAAAAMM/EHLWGjZBxNI/s1600-h/sitemeter.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 135px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgMiLVm0h3I/AAAAAAAAAMM/EHLWGjZBxNI/s400/sitemeter.JPG" alt="" id="BLOGGER_PHOTO_ID_5333143961910675314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SgMUTU3L2MI/AAAAAAAAAME/MIiAtXymPNI/s1600-h/diapers.jpg.com"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 251px; height: 86px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SgMUTU3L2MI/AAAAAAAAAME/MIiAtXymPNI/s400/diapers.jpg.com" alt="" id="BLOGGER_PHOTO_ID_5333128705987041474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As I glanced at the stats of the blog a while ago my jaw nearly hit the floor when I noticed a visit from &lt;span style="font-weight: bold;"&gt;1800Diapers.com&lt;/span&gt;!  I came up with the idea of comparing the two types of "load testing" a long time ago as a joke, and now it's right here staring me in the face!  It's like when the priest, the nun and the rabbi walked into a bar and the bartender said "What is this, some kind of a joke"?&lt;br /&gt;&lt;br /&gt;There really IS a God, of course, and I believe God wants people to laugh - how can you &lt;span style="font-weight: bold;"&gt;not &lt;/span&gt;laugh at a &lt;span style="font-weight: bold;"&gt;record-breaking&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;load test&lt;/span&gt; on&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;diapers.com&lt;/span&gt;?  Like the lady whose baby was emitting a foul order and when someone suggested a change she replied "But it says on the box that it's good for up to 10 pounds"!&lt;br /&gt;&lt;br /&gt;Ba da bing!&lt;br /&gt;&lt;br /&gt;But seriously, folks, an online diaper store has got to be online and responsive at all times if it wants to sell diapers.  Why, in such uncertain times as these we can just as easily expect a rush on diapers as on any other essential item.  So knowing that they have the capacity,  or if they don't they can easily add it on &lt;span style="font-weight: bold;"&gt;Amazon EC2&lt;/span&gt;,  is essential to their &lt;span style="font-weight: bold;"&gt;business&lt;/span&gt;, unlike the supermarkets who stock them on shelves.  So it's no laughing matter - even though it is patently hilarious - to say that &lt;span style="font-weight: bold;"&gt;CapCal &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;Amazon &lt;/span&gt;provide the "other" kind of load testing that is equally important in the diaper industry!&lt;br /&gt;&lt;br /&gt;If one company could ask another for its hand in marriage (publicity-wise, that is), I would be on my knee at the diapers.com company headquarters in New York, genuflecting to the V.P of Marketing and extolling the many hilarious possibilities of a joint campaign!  Just getting into the Guinness Book of Records would be a load of fun by itself!&lt;br /&gt;&lt;br /&gt;Let's hear some possible ad campaign slogans,  shall we?  Anyone dare to be first or must I always be the one to get the ball rolling?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6100712607179285498?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6100712607179285498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/arrival-of-motherlode-pun-intended.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6100712607179285498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6100712607179285498'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/arrival-of-motherlode-pun-intended.html' title='When you think heavy loads, think Diapers.com!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SgMiLVm0h3I/AAAAAAAAAMM/EHLWGjZBxNI/s72-c/sitemeter.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-8991313712950950498</id><published>2009-05-13T05:59:00.000-07:00</published><updated>2009-05-14T15:35:13.813-07:00</updated><title type='text'>A Breakthrough in Diapers?  Say It Ain't So!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgM35H8N32I/AAAAAAAAAMU/uJcPSlc9j10/s1600-h/huggies.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 319px; height: 106px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgM35H8N32I/AAAAAAAAAMU/uJcPSlc9j10/s400/huggies.JPG" alt="" id="BLOGGER_PHOTO_ID_5333167838260485986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Diapers are pretty much a recession-proof industry, thank God, or I might not feel much like going to a restaurant or shopping mall these days. What the disposable ones do to the environment worries me, however, so I expect our friends at Diapers.com to start offering a biodegradable diaper Really Soon Now.   Maybe they already have one but not enough people are buying it, who knows.  As long as it doesn't disintegrate &lt;span style="font-weight: bold;"&gt;too&lt;/span&gt; soon is the main thing, but the sooner the better.&lt;br /&gt;&lt;br /&gt;Being pretty much a newbie in the whole online diaper space, I imagine &lt;span style="font-weight: bold;"&gt;diapers.com &lt;/span&gt;must be the 800 pound gorilla don't you?  Surely there's others, maybe Diapers R Us, but when &lt;span style="font-weight: bold;"&gt;my&lt;/span&gt; baby needs somewhere to poop I will &lt;span style="font-weight: bold;"&gt;not &lt;/span&gt;have time to remember that wacky spelling.   No, diapers.com has mindshare, pal, from top to bottom.  They wipe out their competition in what is sometimes a messy fight for market dominance as you can imagine.&lt;br /&gt;&lt;br /&gt;At the big Diaper Convention in Vegas and Orlando, at least as I imagine it to be,  there's rarely any innovations or breakthroughs to announce, and in fact "breakthrough" is a bad word to a diaper designer.  So I would think a &lt;span style="font-weight: bold;"&gt;million user load test&lt;/span&gt; on &lt;span style="font-weight: bold;"&gt;diapers.com&lt;/span&gt; would be something to shoot the you-know-what about at the hotel bar after the show closes.&lt;br /&gt;&lt;br /&gt;"It's a fact, Jack - moving diapers through a brick and mortar channel is a load of crap!  Online is the ONLY way to go!"&lt;br /&gt;&lt;br /&gt;But don't take our word for it - go to &lt;a href="http://www.diapers.com/"&gt;&lt;span style="font-weight: bold;"&gt;www.diapers.com&lt;/span&gt;&lt;/a&gt; for the real poop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-8991313712950950498?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/8991313712950950498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/growth-spurts-in-diaper-industry.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8991313712950950498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8991313712950950498'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/growth-spurts-in-diaper-industry.html' title='A Breakthrough in Diapers?  Say It Ain&apos;t So!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SgM35H8N32I/AAAAAAAAAMU/uJcPSlc9j10/s72-c/huggies.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5525850483761924665</id><published>2009-05-13T05:49:00.000-07:00</published><updated>2009-05-14T15:35:28.139-07:00</updated><title type='text'>Yesterday's News - KFC is Load Tested By Oprah!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SgjewNN2pqI/AAAAAAAAANw/iks5EPlFU5k/s1600-h/faaef4bbea0e7d54_Oprah_chicken.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 395px; height: 193px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SgjewNN2pqI/AAAAAAAAANw/iks5EPlFU5k/s400/faaef4bbea0e7d54_Oprah_chicken.jpg" alt="" id="BLOGGER_PHOTO_ID_5334758678383208098" border="0" /&gt;&lt;/a&gt;I'm late with this one but that's only because I didn't realize there was a &lt;a href="http://blogs.pitch.com/fatcity/2009/05/crikey_kfc_not_honoring_grille.php"&gt;&lt;span style="font-weight: bold;"&gt;website crash&lt;/span&gt;&lt;/a&gt; along with the hordes of people camping out in stores demanding their free food!  Since you had to download the coupon to print it out you can bet their site's bandwidth got as clogged as the pipes in a diaper testing lab!&lt;br /&gt;&lt;br /&gt;Who am I to question the wisdom of having the Queen Herself give away free chicken and then be totally unprepared for the response, both at the website &lt;span style="font-weight: bold;"&gt;and&lt;/span&gt; the counter?  (Actually, if you look at all the publicity it has stirred up maybe it was pretty smart after all)!&lt;br /&gt;&lt;br /&gt;On the cyber side of things, I wonder if KFC might be willing to take a&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;CapCal Crash Test&lt;/span&gt; in order to restore at least some of the pride they lost in this debacle? &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Hmmmmmm..&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5525850483761924665?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5525850483761924665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/yesterdays-news-kfc-is-load-tested-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5525850483761924665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5525850483761924665'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/yesterdays-news-kfc-is-load-tested-by.html' title='Yesterday&apos;s News - KFC is Load Tested By Oprah!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SgjewNN2pqI/AAAAAAAAANw/iks5EPlFU5k/s72-c/faaef4bbea0e7d54_Oprah_chicken.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7741937812306878700</id><published>2009-05-13T05:45:00.000-07:00</published><updated>2009-05-14T15:35:45.540-07:00</updated><title type='text'>New KFC Coupon - Not for Corporate Chickens!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sgmq910_NqI/AAAAAAAAAOA/MXzxaf-Ae0M/s1600-h/coupon.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 134px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sgmq910_NqI/AAAAAAAAAOA/MXzxaf-Ae0M/s400/coupon.JPG" alt="" id="BLOGGER_PHOTO_ID_5334983212995131042" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;KFC &lt;/span&gt;president &lt;span style="font-weight: bold;"&gt;Roger Eaton&lt;/span&gt; posted a &lt;a href="http://blogs.pitch.com/fatcity/2009/05/crikey_kfc_not_honoring_grille.php"&gt;web video&lt;/a&gt; apologizing for the ruckus that was caused by the Oprah free dinner stampede but I &lt;span&gt;refuse&lt;/span&gt; to accept his apology until he redeems this &lt;span style="font-weight: bold;"&gt;coupon &lt;/span&gt;for a &lt;span style="font-weight: bold;"&gt;free CapCal Crash Test&lt;/span&gt;!   Once they discover what their &lt;span style="font-weight: bold;"&gt;real&lt;/span&gt; limits are, they can go about expanding them on demand with an &lt;span style="font-weight: bold;"&gt;EC2 cloudbursting&lt;/span&gt; strategy.  If the fast food industry is &lt;span style="font-weight: bold;"&gt;really&lt;/span&gt; fast, they'll beat the crowds who are stampeding in this direction.  If not, they will be trampled time and time again by the effects of their own success.&lt;br /&gt;&lt;br /&gt;Please note that this is not the same thing as the record-breaking &lt;span style="font-weight: bold;"&gt;million user load test&lt;/span&gt; we are hoping to do on &lt;span style="font-weight: bold;"&gt;diapers.com&lt;/span&gt;.  Rather it is the first of many coupons that will be issued to companies who prove they need it by making &lt;span style="font-weight: bold;"&gt;headlines&lt;/span&gt; due to a &lt;span style="font-weight: bold;"&gt;website fiasco&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;We thought about exchanging coupons with them but I'm on a slow food diet so we opted not to.  On the theory that there are only 6 degrees of separation between me and Roger Eaton, if you happen to know somebody who knows somebody who knows him, would you please let him know about this incredible offer?  I don't want to resort to posting my own web video but if it comes to that I will.  I see this as a matter of their fiduciary duty to the KFC shareholders and not only that, Colonel Sanders would have wanted it this way!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7741937812306878700?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7741937812306878700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/new-kfc-coupon-not-for-corporate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7741937812306878700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7741937812306878700'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/new-kfc-coupon-not-for-corporate.html' title='New KFC Coupon - Not for Corporate Chickens!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/Sgmq910_NqI/AAAAAAAAAOA/MXzxaf-Ae0M/s72-c/coupon.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5737902634266041100</id><published>2009-05-13T05:44:00.000-07:00</published><updated>2009-05-14T15:36:15.629-07:00</updated><title type='text'>A Free Coupon for the Queen of Everything!</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sgm7OHtYzAI/AAAAAAAAAOI/6msExFu8odY/s1600-h/oprahcoupon.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 410px; height: 112px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sgm7OHtYzAI/AAAAAAAAAOI/6msExFu8odY/s400/oprahcoupon.JPG" alt="" id="BLOGGER_PHOTO_ID_5335001084859042818" border="0" /&gt;&lt;/a&gt;Rather than do the investigative reporting that would have been necessary to discover where the crash actually happened, we decided to do the right thing and issue the same coupon to Oprah as we did to Roger Eaton at KFC!  It doesn't hurt that she's probably the richest woman in the world and hobnobs with the First Couple, so wherever her legions of fans go a-clickin' you can expect her website to really take a-lickin' (and I don't mean &lt;span style="font-weight: bold;"&gt;finger-lickin' good&lt;/span&gt; either).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;One of the most interesting articles I've read recently is by &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/"&gt;Nati Shalom&lt;/a&gt; from &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/"&gt;GigaSpaces&lt;/a&gt;  talking about &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2009/03/its-time-for-auto-scaling-avoid-peak-load-provisioning.html"&gt;autoscaling to avoid peak load provisioning&lt;/a&gt;.  Peak load provisioning is what Oprah would have to do to handle the heaviest possible load on her website but how on earth will &lt;span style="font-weight: bold;"&gt;she&lt;/span&gt; know what that is?  Could it be a million,  like the soon-to-be &lt;span style="font-weight: bold;"&gt;CapCal World Record&lt;/span&gt;, or could it be higher?&lt;br /&gt;&lt;br /&gt;It could be &lt;span style="font-weight: bold;"&gt;much &lt;/span&gt;higher, that's what, and that's why the kind of autoscaling Mr. Shalom is talking about holds the key to the success of the "elastic cloud" model.  As I mentioned, I am going to be doing a number of scientific experiments in this area and posting them here on the CapCal Blog.  Specifically I want CapCal itself to autoscale so I don't have to own and operate an entire server farm to keep it going!  And don't get me started on all the funny things that come to mind when I hear the term "server farm" or I will exceed the allotted space for this posting.&lt;br /&gt;&lt;br /&gt;But come back soon, y'all hear?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5737902634266041100?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5737902634266041100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/free-coupon-for-queen-of-everything.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5737902634266041100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5737902634266041100'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/free-coupon-for-queen-of-everything.html' title='A Free Coupon for the Queen of Everything!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/Sgm7OHtYzAI/AAAAAAAAAOI/6msExFu8odY/s72-c/oprahcoupon.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-4401728649683998306</id><published>2009-05-13T05:43:00.000-07:00</published><updated>2009-05-14T15:35:57.433-07:00</updated><title type='text'>How Crash Tests Make the Web a Safer Place</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sgniw3x_wSI/AAAAAAAAAOQ/c_TKQ7Ct0TU/s1600-h/saab_crash_test_opt.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sgniw3x_wSI/AAAAAAAAAOQ/c_TKQ7Ct0TU/s400/saab_crash_test_opt.jpg" alt="" id="BLOGGER_PHOTO_ID_5335044562832310562" border="0" /&gt;&lt;/a&gt;If I had the time and energy of a &lt;span style="font-weight: bold;"&gt;real &lt;/span&gt;investigative reporter I could tell you how many crash tests are performed by automakers each year but it has to be a big number.  Computer simulations might do just as well for designers but I'm sure the insurance companies and customers demand more.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold;"&gt;CapCal Crash Test&lt;/span&gt; is being offered to those whose websites have &lt;span style="font-weight: bold;"&gt;already&lt;/span&gt; crashed as a way to &lt;span style="font-weight: bold;"&gt;repeat&lt;/span&gt; the worst case scenario in a controlled fashion so that internal limits can be defined to trigger extra capacity when needed.  While absolutely no harm is done to the website being crash tested, nor are any users inconvenienced or animals tortured, it will nonetheless discover server and bandwidth limits wherever they exist.&lt;br /&gt;&lt;br /&gt;A corollary to the statement "if you can't measure something you can't manage it" is "if you don't know your limits you can never ensure against reaching them".   What it takes to find the limit of each site or application will vary from a couple dozen to tens of millions of virtual users,  as in the case of a Yahoo or an eBay.   Whatever that number is becomes the &lt;span style="font-weight: bold;"&gt;peak capacity&lt;/span&gt; from which all kinds of other useful values can be derived.&lt;br /&gt;&lt;br /&gt;In case there aren't enough technical buzzwords floating around out there, I chose the name "&lt;span style="font-weight: bold;"&gt;crash-proofing&lt;/span&gt;" a while back because the object of a crash test is to make something &lt;span style="font-weight: bold;"&gt;crash-proof&lt;/span&gt;, to make it able to withstand a crash without buckling or caving in like the car above.  So in addition to the crash test there has to be the equivalent of airbags for users, and I suppose that would be the Amazon Cloud - airbags as fluffy as a cloud!&lt;br /&gt;&lt;br /&gt;Or am I taking this analogy too far?  If so I apologize, but I think it serves to make the somewhat obvious point that &lt;span style="font-weight: bold;"&gt;crash tests&lt;/span&gt; are necessary to make something &lt;span style="font-weight: bold;"&gt;crash-proof&lt;/span&gt;.  So when I refer to &lt;span style="font-weight: bold;"&gt;crash-proofing&lt;/span&gt; as a methodology, I'm talking about both things - the &lt;span style="font-weight: bold;"&gt;crash testing &lt;/span&gt;and the &lt;span style="font-weight: bold;"&gt;cloud bursting&lt;/span&gt; working together.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-4401728649683998306?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/4401728649683998306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/how-crash-tests-make-web-safer-place.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4401728649683998306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4401728649683998306'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/how-crash-tests-make-web-safer-place.html' title='How Crash Tests Make the Web a Safer Place'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/Sgniw3x_wSI/AAAAAAAAAOQ/c_TKQ7Ct0TU/s72-c/saab_crash_test_opt.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2553189562082326535</id><published>2009-05-13T05:41:00.000-07:00</published><updated>2009-05-14T15:36:26.884-07:00</updated><title type='text'>How to Tell When a Load Test Fails</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SghpkOb-F2I/AAAAAAAAANQ/hWn4QRy-A18/s1600-h/HeavyLoad1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 353px; height: 264px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SghpkOb-F2I/AAAAAAAAANQ/hWn4QRy-A18/s400/HeavyLoad1.jpg" alt="" id="BLOGGER_PHOTO_ID_5334629829691971426" border="0" /&gt;&lt;/a&gt;It's important to &lt;span&gt;stress &lt;/span&gt;the fact (ahem) that being &lt;span style="font-weight: bold;"&gt;subjected &lt;/span&gt;to a load test and actually &lt;span style="font-weight: bold;"&gt;passing&lt;/span&gt; it are two different things!  In this case, the donkey did &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; pass the load test as you can see.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://capcalblog.blogspot.com/2009/04/scene-of-crash-on-world-wide-web.html"&gt;Here&lt;/a&gt; I show what a website crash looks like in graphic form, but not nearly as graphic as this photo!  This is a good visual for what most websites would do if they received a million visitors within a 5 minute period.  So we aren't looking for companies that want to make an &lt;span style="font-weight: bold;"&gt;ass &lt;/span&gt;of themselves,we're looking for the likes of &lt;a href="http://capcalblog.blogspot.com/2009/05/early-attempts-at-breaking-load-barrier.html"&gt;Mr. John Evans&lt;/a&gt;, who can balance a bloody car on his head (he's British, don't forget)!&lt;br /&gt;&lt;br /&gt;Sure, sites like Google,  Amazon,  Yahoo and eBay eat million user loads for breakfast, many times that number in fact.  But if you aren't one of these companies it &lt;span style="font-weight: bold;"&gt;behoove&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;s&lt;/span&gt; you  to see what would happen to &lt;span style="font-weight: bold;"&gt;your&lt;/span&gt; ass in the event of a million user load!  You don't want it to be all &lt;span style="font-weight: bold;"&gt;exposed&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;dangling in the air&lt;/span&gt; like that do you?&lt;br /&gt;&lt;br /&gt;I can't show an image of a failed load test in a diaper lab because Google doesn't have one, plus  it would be tasteless and offensive.  But it's still funny and you can't tell me it isn't - even my mother says it is, so there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2553189562082326535?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2553189562082326535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/how-to-tell-when-load-test-fails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2553189562082326535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2553189562082326535'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/how-to-tell-when-load-test-fails.html' title='How to Tell When a Load Test Fails'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SghpkOb-F2I/AAAAAAAAANQ/hWn4QRy-A18/s72-c/HeavyLoad1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2280236004880195813</id><published>2009-05-13T05:40:00.000-07:00</published><updated>2009-05-14T15:36:41.045-07:00</updated><title type='text'>Early Attempts at Breaking the Load Barrier</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgS0g3GNTmI/AAAAAAAAAMk/1lKaQYUUC2A/s1600-h/mini_ripley_fire_charity.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 306px; height: 268px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgS0g3GNTmI/AAAAAAAAAMk/1lKaQYUUC2A/s400/mini_ripley_fire_charity.jpg" alt="" id="BLOGGER_PHOTO_ID_5333586335352311394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Unlike Britain's &lt;span style="font-weight: bold;"&gt;John Evans&lt;/span&gt;, who holds the &lt;span style="font-weight: bold;"&gt;Guinness World Record&lt;/span&gt;  for &lt;span style="font-weight: bold;"&gt;Head Balancing&lt;/span&gt;,  breaking the web site load barrier is not a death-defying feat!  In fact, CapCal helped &lt;span style="font-weight: bold;"&gt;NASA &lt;/span&gt;get its website ready for live streaming of the shuttle launch in 2001 by testing up to &lt;span style="font-weight: bold;"&gt;10,000 users&lt;/span&gt; from a &lt;span style="font-weight: bold;"&gt;globally distributed network&lt;/span&gt; like &lt;span style="font-weight: bold;"&gt;seti@home&lt;/span&gt;.   Before cloud computing came along, this was really the only way to deliver load tests of virtually unlimited size on demand.  I call it &lt;span style="font-weight: bold;"&gt;cloud computing 1.0&lt;/span&gt; but don't know if anyone else does.  Ask me if I care!&lt;br /&gt;&lt;br /&gt;As far as our friend John goes, making a living as a World Class Head Balancer has got to be a major headache, don't you think?  Do you think it's easy for him to get health and life insurance?  Are girls impressed by his card with this photo on it?  How many would-be head balancers never made it this far for having assumed the shape of a pancake by trying?&lt;br /&gt;&lt;br /&gt;No, we'll settle for the World Record Load Test and leave the Head Balancing to Mr. Evans.  However, we are in awe of all the other record holders and will be greatly honored to be listed among them!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2280236004880195813?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2280236004880195813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/early-attempts-at-breaking-load-barrier.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2280236004880195813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2280236004880195813'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/early-attempts-at-breaking-load-barrier.html' title='Early Attempts at Breaking the Load Barrier'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SgS0g3GNTmI/AAAAAAAAAMk/1lKaQYUUC2A/s72-c/mini_ripley_fire_charity.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-397268036236810430</id><published>2009-05-13T05:39:00.003-07:00</published><updated>2009-05-14T15:37:46.585-07:00</updated><title type='text'>How to Fake a Website Crash and Make News!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgmcmrFy-OI/AAAAAAAAAN4/FIwuXUGJYfw/s1600-h/image4593340x.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 370px; height: 278px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgmcmrFy-OI/AAAAAAAAAN4/FIwuXUGJYfw/s400/image4593340x.jpg" alt="" id="BLOGGER_PHOTO_ID_5334967421813061858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I mentioned earlier how a website crash can be seen as a positive thing since it indicates an overwhelming interest in something.  Well, today I discovered how such a thing can be manipulated as a way to influence public opinion and to me it is downright sneaky if true!&lt;br /&gt;&lt;br /&gt;I'm sure you are tired of hearing about the senate race in Minnesota that seems never to end, even after "final" court rulings are handed down!  Apparently this came from the website of the Republican contender Norm Coleman:&lt;br /&gt;&lt;p style="font-style: italic;"&gt;ST PAUL – Information recently added to the Coleman for Senate website,  whereby people can find out which Minnesota voters the Franken campaign is  trying to disenfranchise, has resulted in the website being inundated by tens of  thousands of hits today – temporarily crashing the website.&lt;/p&gt;&lt;a href="http://mnpublius.com/2009/01/team-coleman-fakes-website-crash/"&gt;This&lt;/a&gt; story does a bit of cyber sleuthing to make a case for the report being an outright lie but I didn't even have to look that deeply to know it probably was.  For one thing, websites that do nothing but serve up static HTML pages can usually handle lots of users because everything is cached in memory and there is nothing to do but shove it out the pipe.  The pipe could get clogged if there's lots of graphics or multimedia and that's a lot more likely to happen than a server overload.  Server overloads usually happen when databases and dynamic pages are involved, like with e-commerce sites.&lt;br /&gt;&lt;br /&gt;With the crash of the KFC site (or was it Oprah's site?  It's not clear in the article) it was almost certainly a bandwidth issue because the coupons had to be downloaded.  Let's just say that the entire State of Minnesota represents a fraction of the Oprah fan base and assume that the reported crash was just that - reported but not real.&lt;br /&gt;&lt;br /&gt;With cloud computing and the kind of testing that I am preaching there will someday be one less dirty trick in the politician's bag.   If they want to post the contents of a weblog that shows the real number of hits, that's fine.  But to claim a crash that didn't actually happen is adding fuel to a fire that doesn't really need any more (although I am grateful for the Daily Blog Story).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-397268036236810430?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/397268036236810430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/how-to-fake-website-crash-and-get-votes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/397268036236810430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/397268036236810430'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/how-to-fake-website-crash-and-get-votes.html' title='How to Fake a Website Crash and Make News!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SgmcmrFy-OI/AAAAAAAAAN4/FIwuXUGJYfw/s72-c/image4593340x.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-756433948094729059</id><published>2009-05-13T05:39:00.001-07:00</published><updated>2009-05-14T15:37:19.034-07:00</updated><title type='text'>High Scalability - How High is REALLY High?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sgb9gRnjc2I/AAAAAAAAAMs/zVn2zpVjlN4/s1600-h/mountain_climbing.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 194px; height: 294px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sgb9gRnjc2I/AAAAAAAAAMs/zVn2zpVjlN4/s400/mountain_climbing.jpg" alt="" id="BLOGGER_PHOTO_ID_5334229539593876322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you check out the links on the right you'll see one for &lt;a href="http://highscalability.com/"&gt;High Scalability - Building bigger, faster, more reliable websites&lt;/a&gt;, which I follow closely for a number of reasons.  It's easily the most highly concentrated source of information on the issue of website scalability there is, but before you can really appreciate that you should understand what is meant by the word &lt;span style="font-weight: bold;"&gt;scalability&lt;/span&gt;.  Wikipedia defines it as a system or network's  &lt;span&gt;ability to either&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; handle growing amounts of work in a graceful manner, &lt;/span&gt;&lt;span&gt;or to be&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; readily enlarged &lt;/span&gt;&lt;span&gt;in order to do so&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;. &lt;/span&gt; While the term "readily enlarged" is unfortunate as it triggers every spam filter in existence,  think instead of a rubber band that can stretch without breaking and you have the picture.&lt;br /&gt;&lt;br /&gt;High Scalability is a treasure trove of information about what is "under the hood" at some of the most popular and well known websites in the world and what makes them capable of achieving such amazing feats of high scalability.   For example, I found it extremely interesting that "PlentyOfFish", a free dating site with millions of users, ran on only a single server managed by one guy until recently.  And reading the history of the eBay site gave me a completely different picture than the one I had in my head - it evolved over quite some time and took a number of strange turns along the way.  Not at all what I imagined, but it works and that's what counts.&lt;br /&gt;&lt;br /&gt;On the subject of being able to handle growing amounts of work in a graceful manner, what better proof would there be than a million users showing up in a 4 minute period of time?  First of all, it would blow right past whatever built in limits are normally defined in the operating system, web server and database - one of the many useful things about High Scalability is how it uncovers those things and shows you how to fix them before they bite you in the arsenal.  Windows is especially notorious for setting internal limits at arbitrarily low values and waiting for you to discover them the hard way (like when all of your visitors are treated to an ugly "500 server error" message, for example - definitely &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; graceful).&lt;br /&gt;&lt;br /&gt;What High Scalability consistently reminds us is that you can have all the capacity in the world but not be scalable if you don't pay attention to all the relevant details.  That's why I think of scalability testing as a cross between performance testing and functional testing.  You should never deploy a new server without subjecting it to a scalability test designed to uncover whatever artificial limits may be lurking underneath and to discover what real and practical limits there are on throughput and so forth.&lt;br /&gt;&lt;br /&gt;I've asked &lt;span style="font-weight: bold;"&gt;Todd Huff&lt;/span&gt; at High Scalability to help me find a suitable candidate for the first one million user load test but I'm sure he won't find anything as good as diapers.com.   Nonetheless, being first means being the first of many and I hope to be doing these around the clock before long.  In fact I'm at work on an icon that companies can display on their web sites indicating that they have passed a &lt;span style="font-weight: bold;"&gt;CapCal Crash Test&lt;/span&gt; of whatever number of users they desire.  Of course, with Amazon EC2 there to allow capacity to be &lt;span style="font-weight: bold;font-size:130%;" &gt;r e a d i l y   e n l a r g e d&lt;/span&gt;, that number could be very, very big indeed - once we've done a million users we'll be aiming for 10 million and so on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-756433948094729059?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/756433948094729059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/high-scalability-how-high-is-really.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/756433948094729059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/756433948094729059'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/high-scalability-how-high-is-really.html' title='High Scalability - How High is REALLY High?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/Sgb9gRnjc2I/AAAAAAAAAMs/zVn2zpVjlN4/s72-c/mountain_climbing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-8136325583078405018</id><published>2009-05-13T05:39:00.000-07:00</published><updated>2011-04-01T18:58:43.706-07:00</updated><title type='text'>CapCal Architecture and Background</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SgcfwIl4DJI/AAAAAAAAAM8/9KFAu76_4L8/s1600-h/CapCalComponents.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5334267195444169874" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SgcfwIl4DJI/AAAAAAAAAM8/9KFAu76_4L8/s400/CapCalComponents.JPG" style="cursor: pointer; display: block; height: 283px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Todd at High Scalability asked some really good questions about the CapCal architecture so I thought I would conserve space in his blog by answering his questions here.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;CapCal Host&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Windows Server 2003, C#, ASP.NET, SQL Server 2005. By default a hosted (shared) resource, dedicated CapCal Hosts can also be spawned on &lt;span style="font-weight: bold;"&gt;Amazon EC2, Rackspace or IBM cloud&lt;/span&gt;.  The shared (hosted) version has an account for each customer, which in turn has its own user accounts, tests and test results invisible to all others.  In the dedicated (cloud) version, the customer has complete control of the server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;CapCal Controller&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Small Java app optimized for Linux. Controllers are spawned by the host for the lifetime of a test. Any number of controllers can be managed by a given host.  Controllers, like agents, can be deployed anywhere, inside or outside the firewall, on "bare metal" or the Cloud.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;CapCal Agent&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Small Java app optimized for Linux. Agents can be deployed on customer hardware, CapCal hardware, the CapCal distributed network or on the &lt;span style="font-weight: bold;"&gt;Amazon EC2 Cloud&lt;/span&gt; with a 20 to 30 second bootup time. Each agent can spawn any number of virtual users, up to whatever bandwidth limit there is in terms of download speed. Tests have been run with up to 100,000 virtual users although higher numbers are possible. Each virtual user maintains session state via cookies, 302 redirects and whatever mechanism the app uses.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;CapCal Capture&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;A small Windows client that captures HTTP and HTTPS traffic to be used in creating &lt;span style="font-weight: bold;"&gt;test sessions&lt;/span&gt;. Test sessions are combined into &lt;span style="font-weight: bold;"&gt;test plans&lt;/span&gt;, which include all the parameters of test execution, like ramp time, hold time, virtual users, etc. &lt;span style="font-weight: bold;"&gt;Test data&lt;/span&gt; can be used to parameterize everything from logins to product codes, account numbers and so forth. &lt;span style="font-weight: bold;"&gt;Think time&lt;/span&gt; is built in but can also be controlled on a page by page basis. Tests can be created manually or captured via execution of a functional test tool like the ones from HP, Compuware, Worksoft, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;How It Works&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;From an icon in the Windows system tray, the user starts and stops the capture of browser sessions to be used in the test. Running a test is a matter of filling in a small form and submitting it. The test is uploaded to the host, scheduled and run as soon as a controller and agent pool is available, which is immediate unless scheduled to run later.  The test can be watched in real time and canceled in the event of errors, excessive delays, etc. The page hit detail in the &lt;span style="font-weight: bold;"&gt;test results&lt;/span&gt; shows everything that happened, which can be extremely useful in tracking down bottlenecks and scalability traps.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;CapCal History&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Capacity Calibration&lt;/span&gt; was conceived in March of 2000 for &lt;span style="font-weight: bold;"&gt;c&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;loud computing 1.0&lt;/span&gt;, otherwise known as &lt;span style="font-weight: bold;"&gt;distributed &lt;/span&gt;or &lt;span style="font-weight: bold;"&gt;grid computing&lt;/span&gt;. The CapCal agent has been downloaded and installed on over 15,000 computers all around the world and the network has been up and running 24 X 7 since August of 2001. In November 2001, CapCal ran load tests for &lt;span style="font-weight: bold;"&gt;NASA&lt;/span&gt; (see above) to help it prepare for its first live video streaming of the space shuttle launch. The largest test ever run was &lt;span style="font-weight: bold;"&gt;10,000 virtual users&lt;/span&gt;, even though the network was capable of much larger capacity. The CapCal distributed network is now being phased out in the transition to &lt;span style="font-weight: bold;"&gt;Amazon EC2&lt;/span&gt;, aka &lt;span style="font-weight: bold;"&gt;cloud computing 2.0&lt;/span&gt;, although it can always be reactivated if needed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-8136325583078405018?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/8136325583078405018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/capcal-architecture-and-history.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8136325583078405018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/8136325583078405018'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/capcal-architecture-and-history.html' title='CapCal Architecture and Background'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SgcfwIl4DJI/AAAAAAAAAM8/9KFAu76_4L8/s72-c/CapCalComponents.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-957311668167021742</id><published>2009-05-13T04:04:00.000-07:00</published><updated>2009-05-14T15:38:11.877-07:00</updated><title type='text'>The Scene of a Crash on the Wild, Wild Web</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SfpPDs6nNmI/AAAAAAAAAI4/DAUNlfl-4dg/s1600-h/The+Scene+of+a+Web+Crash.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5330660033961604706" style="margin: 0px auto 10px; display: block; width: 300px; cursor: pointer; height: 320px; text-align: center;" alt="" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SfpPDs6nNmI/AAAAAAAAAI4/DAUNlfl-4dg/s320/The+Scene+of+a+Web+Crash.JPG" border="0" /&gt;&lt;/a&gt;If you ever wondered what a Web site looks like when it crashes, first look at the donkey photo and then have a look at the chart above. This one pretty much flat lined at 365 users - notice how the red bars (delay) get bigger and bigger and the green bars (bandwidth) get smaller and smaller. The Web Speedometer would be pegged all the way to the right at the end of 5 minutes. (By the way, this chart shows the sign of a server overload, not bandwidth congestion - if that had been the case the green bars would be maxed out while the red bars got bigger and bigger).&lt;br /&gt;&lt;br /&gt;This was a Web site of a friend of mine so I had permission to bring it to its knees. It recovered quickly, though, but had I continued for much longer it would have required a system reboot. You might even think of this as a controlled denial of service attack and if so you would be at least partially correct. But if this particular Web site expected more than 300 users they would be spending all their time gazing at the hourglass!&lt;br /&gt;&lt;br /&gt;There are lots of good stories about famous web site crashes and I will entertain you with as many as possible here in this blog. One of the most famous of all was when Microsoft first launched their Web site in 1995 - it had been awaited for so long by so many that it immediately crashed upon startup! After doubling or tripling the number of servers it came up again and crashed in two days! I can't remember how many times it took them to get it right but you can only imagine the size of their data centers nowadays.&lt;br /&gt;&lt;br /&gt;A service that CapCal is now offering is called &lt;span style="font-weight: bold;"&gt;CloudBurst&lt;/span&gt;, and it's basically the ability to do what I did to my friend's web site to find out exactly the point where capacity and performance are no longer sufficient. That could be millions of users in some cases and nobody has ever done a million user load test, or even half a million. I would love it if someone could prove me wrong but I know how many computers it would take and I doubt anyone has that many machines sitting around doing nothing - not physical machines anyway!&lt;br /&gt;&lt;br /&gt;I'm hoping (with Amazon's help) to break the 1 million user barrier someday and with CapCal's ultralight agent that can be done with just a few hundred instances. I'll be posting on a regular basis about CapCal CloudBurst and its race for a spot in the Guinness Book of World Records so please check back frequently!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-957311668167021742?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/957311668167021742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/scene-of-crash-on-world-wide-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/957311668167021742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/957311668167021742'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/scene-of-crash-on-world-wide-web.html' title='The Scene of a Crash on the Wild, Wild Web'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SfpPDs6nNmI/AAAAAAAAAI4/DAUNlfl-4dg/s72-c/The+Scene+of+a+Web+Crash.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-4343793133217357267</id><published>2009-05-13T04:03:00.000-07:00</published><updated>2009-05-14T15:38:28.252-07:00</updated><title type='text'>Elastic Server - a Factory for the Cloud!</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgCrSEvRf_I/AAAAAAAAALo/S2Hp2hzwr5Q/s1600-h/ElasticServer.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 387px; height: 180px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgCrSEvRf_I/AAAAAAAAALo/S2Hp2hzwr5Q/s320/ElasticServer.JPG" alt="" id="BLOGGER_PHOTO_ID_5332450285804683250" border="0" /&gt;&lt;/a&gt;To appreciate the power and flexibility of &lt;a href="http://www.elasticserver.com/"&gt;Elastic Server&lt;/a&gt; you have to have built at least one server from scratch in your life.  If you've built as many as I have it makes this fully automated server assembly factory even more amazing - building a brand new, customized virtual server and deploying it to the cloud can be done literally in minutes.  There's a package for everything, and what there isn't you can easily add yourself.  This is exactly what cloud computing needs in order to really take off in a big way (and the signs are everywhere that this is happening).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;CapCal uses Elastic Server to assemble our ultra light weight load agent, which was built to spec by Elastic Server from a Debian Linux with the Java Runtime and nothing else.  This little beauty boots up on Amazon in 20 to 30 seconds as opposed to 3 to 5 minutes for Windows Server 2003!  And the amount and responsiveness of the support I've received (as a total Linux idiot)  says a whole lot in itself.&lt;br /&gt;&lt;br /&gt;With CapCal's new &lt;span style="font-weight: bold;"&gt;CloudBurst&lt;/span&gt; service, dozens or even hundreds of these can be spawned in a flash, and with each of them handling up to 1,000 virtual users or more I think you can see how  hundreds of thousands of simultaneous sessions becomes a reality - something that was never &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;possible before cloud computing!&lt;br /&gt;&lt;br /&gt;Next I am going to blather on about the word "elastic" and why it is such a great metaphor.  But make sure to go &lt;a href="http://www.elasticserver.com/"&gt;here &lt;/a&gt;and check out &lt;span style="font-weight: bold;"&gt;Elastic Server&lt;/span&gt; - it deserves a place in your Favorites list like it has in mine!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-4343793133217357267?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/4343793133217357267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/elastic-server-factory-for-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4343793133217357267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4343793133217357267'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/elastic-server-factory-for-cloud.html' title='Elastic Server - a Factory for the Cloud!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SgCrSEvRf_I/AAAAAAAAALo/S2Hp2hzwr5Q/s72-c/ElasticServer.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-4919619028404859026</id><published>2009-05-13T04:02:00.000-07:00</published><updated>2009-05-14T15:38:38.328-07:00</updated><title type='text'>Why Elastic is So Fantastic</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgG2Yl2ebcI/AAAAAAAAALw/lyZhcal7fg8/s1600-h/ElasticCompression.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 177px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgG2Yl2ebcI/AAAAAAAAALw/lyZhcal7fg8/s320/ElasticCompression.jpg" alt="" id="BLOGGER_PHOTO_ID_5332743967377092034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;When Amazon chose the name "Elastic Cloud" it was a stroke of genius because elastic is something that expands and contracts at will, which &lt;span&gt;is&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;the &lt;/span&gt;ultimate breakthrough of cloud computing.  Theoretically (since nobody has done this as far as I know) it should be possible not only to insure against a crash but to guarantee top performance at all times - if one server starts to drag, just spin up another one and add it to the load balancer - problem solved!  Extra capacity can be delivered on demand when needed and released when not.&lt;br /&gt;&lt;br /&gt;I'd like to throw down my gauntlet here (and if I had one I would) about how NO static or non-elastic web site is immune from crashes and slow downs, a claim I can easily prove with any site.  To me it seems obvious that only through the elasticity the cloud offers can we have a consistent, high performance Internet, not like the one we have today, which is prone to overloads and wide variability.&lt;br /&gt;&lt;br /&gt;In the noble tradition of eating one's own dog food I have devised a way to scale the CapCal server itself, to "elasticize" it on EC2, so that it will grow and shrink on demand based on moment by moment performance measurements (i.e., the CapCal Web Speedometer).  I'll be reporting my experience in undertaking this adventure so check back for an update!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-4919619028404859026?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/4919619028404859026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/why-elastic-is-so-fantastic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4919619028404859026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/4919619028404859026'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/why-elastic-is-so-fantastic.html' title='Why Elastic is So Fantastic'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SgG2Yl2ebcI/AAAAAAAAALw/lyZhcal7fg8/s72-c/ElasticCompression.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7518945640823462507</id><published>2009-05-06T15:27:00.000-07:00</published><updated>2009-05-11T20:45:16.844-07:00</updated><title type='text'>CapCal Goes on a Phishing Expedition</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoiZ75L4jI/AAAAAAAAAIA/ZvDZuN3V7uk/s1600-h/fig-angling.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 189px; height: 200px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoiZ75L4jI/AAAAAAAAAIA/ZvDZuN3V7uk/s200/fig-angling.jpg" alt="" id="BLOGGER_PHOTO_ID_5330610937916023346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Last night I got an email from "AOL Member Services" urging me to "revalidate my account information" or my account would be suspended. I don't have an AOL account and even if I did I wouldn't be so stupid as to comply. Unfortunately there are enough naive people in the world (who may in fact be very intelligent) that will fall for it to make it worthwhile.&lt;br /&gt;&lt;br /&gt;But since it was ASKING me to fill in a form with all my personal data (including SS#, credit card details, etc). I decide to comply a thousand fold!&lt;br /&gt;&lt;br /&gt;That's right, I used CapCal to capture the POST of the form data and turned that into a single page session. Then I got busy running it in user volumes ranging from 10 to 1,000 and learned a lot in the process!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://capcal.dynalias.com/mtests/testview.asp?testID=2930"&gt;Here &lt;/a&gt;are the results of the last test I ran - 32 users for 20 minutes. You can see that the AOL phishermen (who hail from Denmark according to the .dk domain) received 4,051 responses during this time! With all the testing done earlier I'm sure the number exceeded 20,000 so I was glad to see the next morning the URL was down.  One down, oh so many to go!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://capcal.dynalias.com/mtests/testviewgraph.asp?testid=2930"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7518945640823462507?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7518945640823462507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/last-night-i-got-email-from-aol-member.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7518945640823462507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7518945640823462507'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/last-night-i-got-email-from-aol-member.html' title='CapCal Goes on a Phishing Expedition'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoiZ75L4jI/AAAAAAAAAIA/ZvDZuN3V7uk/s72-c/fig-angling.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6383674539175877165</id><published>2009-05-02T12:51:00.000-07:00</published><updated>2009-05-11T20:43:37.057-07:00</updated><title type='text'>Welcome to my Koolaid Stand!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SftI0gC6xcI/AAAAAAAAALQ/YX4dbpr5rjM/s1600-h/Kookaid.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 232px; height: 204px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SftI0gC6xcI/AAAAAAAAALQ/YX4dbpr5rjM/s320/Kookaid.jpg" alt="" id="BLOGGER_PHOTO_ID_5330934650715686338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It was actually Amazon Web Services evangelist &lt;a href="http://www.jeff-barr.com/"&gt;Jeff Barr&lt;/a&gt; who coined the term "cloudbursting" to describe the ability for the Amazon Cloud to deliver capacity on demand. But I discovered this &lt;span style="font-weight: bold;"&gt;after&lt;/span&gt; coming up with the name &lt;span style="font-weight: bold;"&gt;CapCal CloudBurst&lt;/span&gt; for our tsunami-style load testing service, so &lt;span style="font-weight: bold;"&gt;please &lt;/span&gt;don't call me a copycat!&lt;br /&gt;&lt;br /&gt;Had the CEO of J Crew been drinking the EC2 koolaid like I am they might have made millions on the Obama girls' choice of coatware instead of having their website take a &lt;a href="http://capcalblog.blogspot.com/2009/04/j-crew-causes-massive-collision-at.html"&gt;&lt;span style="font-weight: bold;"&gt;dirt nap&lt;/span&gt;&lt;/a&gt; like that.  I'm sure they made a lot as it is, but you know they lost out on untold numbers of "impulse buyers" who forgot all about it by the end of the day.&lt;br /&gt;&lt;br /&gt;I'm rather tipsy on the EC2 koolaid myself and it makes me wonder what they are spiking it with.  To me it seems like the only way to keep things like this from happening because when you come right down to it you can NEVER know in advance how your app will respond to huge traffic without testing it, and you can never know how big of a number "huge" is until you exceed your greatest expectations!&lt;br /&gt;&lt;br /&gt;Both CloudBurst-style testing and EC2-style cloudbursting are necessary elements of any long term solution to the spectacular website crashes we see every day (and all the ones we don't see).  And it's not really crashes that are such a major problem, but the &lt;span style="font-weight: bold;"&gt;precious time&lt;/span&gt; of &lt;span style="font-weight: bold;"&gt;countless people&lt;/span&gt; is being &lt;span style="font-weight: bold;"&gt;wasted &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;every day&lt;/span&gt; by &lt;span style="font-weight: bold;"&gt;uncalibrated&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;untested &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;totally&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;insufficient&lt;/span&gt; web capacity.  There, I said it!&lt;br /&gt;&lt;br /&gt;It seems to me that a Web Speedometer that tells you when extra capacity is needed could be a perfect trigger point for when cloudbursting and its opposite (cloudshrinking?) should occur .  And CloudBurst is a Poster Child application of EC2 the way I see it.&lt;br /&gt;&lt;br /&gt;Hey, it tastes good to me, wanna try some?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6383674539175877165?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6383674539175877165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/on-ec2-cloud-and-keeping-web-safe-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6383674539175877165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6383674539175877165'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/on-ec2-cloud-and-keeping-web-safe-from.html' title='Welcome to my Koolaid Stand!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SftI0gC6xcI/AAAAAAAAALQ/YX4dbpr5rjM/s72-c/Kookaid.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-2689922196606934893</id><published>2009-05-02T10:03:00.000-07:00</published><updated>2009-05-13T10:15:59.310-07:00</updated><title type='text'>Pet Airways Crashes on Opening Day!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgREVjmm5TI/AAAAAAAAAMc/2BFTinGi2pQ/s1600-h/airplane_dog.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 304px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SgREVjmm5TI/AAAAAAAAAMc/2BFTinGi2pQ/s400/airplane_dog.jpg" alt="" id="BLOGGER_PHOTO_ID_5333462995838625074" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;I  have a Google alert for "website crash", which means I get lots of news stories about other kinds of crashes that I have to sift through.  Normally the words "airline" and "crash" only combine in the most tragic of stories, but today I was treated to a rare and delightful exception!&lt;br /&gt;&lt;br /&gt;That's right, the website of &lt;a href="http://www.petairways.com/"&gt;Pet Airways&lt;/a&gt;, which caters strictly to the travel needs of canines and felines , &lt;span style="font-weight: bold;"&gt;crashed &lt;/span&gt;after going live because of all the Marmadukes and Garfields in the world wanting to book a flight!  I thought an airline catering strictly to pets was a joke until I found out otherwise, and there must be considerable demand for the website to go down on the very first day!  But it makes sense if you think about it - for many people, their pets ARE their children, and who wants their kids riding in cargo class?&lt;br /&gt;&lt;br /&gt;I suspect that news about website crashes tends to be viewed in a positive light by many people because it implies a kind of overwhelming interest in something, like the &lt;a href="http://capcalblog.blogspot.com/2009/04/j-crew-causes-massive-collision-at.html"&gt;pale pink and royal blue coats&lt;/a&gt; worn by the Obama girls at the Inauguration.  But I can assure you they did &lt;span style="font-weight: bold;"&gt;not &lt;/span&gt;receive one million simultaneous visitors like the record-setting test CapCal is aiming to do.  The embarrassing truth is that many web apps aren't equipped to handle several thousand, much less a million users all at once.  But they could easily have lost a million dollars in tickets that went unpurchased, and that is tragic indeed.&lt;br /&gt;&lt;br /&gt;Perhaps Pet Airways might be interested in seeing their name in the Guinness Book of World Records as the first company to break the &lt;a href="http://capcalblog.blogspot.com/2009/05/first-million-user-load-test.html"&gt;&lt;span&gt;million user load barrier&lt;/span&gt;&lt;/a&gt;.  I admit that it's not the comic motherlode (ahem) of Diapers.com but it certainly has potential, doggone it!&lt;br /&gt;&lt;br /&gt;Meanwhile I am hoping that the visitor from 1800diapers.com will come back and revisit my open challenge to boost their image - can they handle the &lt;span style="font-weight: bold;"&gt;really&lt;/span&gt; heavy loads or not?  And if not, why have they not signed up with &lt;span style="font-weight: bold;"&gt;Amazon Elastic Cloud Services&lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;These are the questions that I need answered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-2689922196606934893?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/2689922196606934893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/pet-airways-crashes-on-opening-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2689922196606934893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/2689922196606934893'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/pet-airways-crashes-on-opening-day.html' title='Pet Airways Crashes on Opening Day!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SgREVjmm5TI/AAAAAAAAAMc/2BFTinGi2pQ/s72-c/airplane_dog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-3002108734748719126</id><published>2009-05-02T10:02:00.000-07:00</published><updated>2009-05-03T10:32:21.242-07:00</updated><title type='text'>Kaiser Chiefs Website Crash Fiasco!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfx82XIZriI/AAAAAAAAALg/pvvapoeCpM8/s1600-h/KaiserChiefs.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 196px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfx82XIZriI/AAAAAAAAALg/pvvapoeCpM8/s200/KaiserChiefs.jpg" alt="" id="BLOGGER_PHOTO_ID_5331273332263857698" border="0" /&gt;&lt;/a&gt;I confess my musical ignorance for not knowing who the Kaiser Chiefs are but the crash of a website selling tickets to their show had an especially nasty twist to it.   This happened &lt;span style="font-weight: bold;"&gt;yesterday&lt;/span&gt;, so the news doesn't get much fresher than this, folks!&lt;br /&gt;&lt;br /&gt;You can read the article in its entirely &lt;a href="http://www.iomtoday.co.im/news/Kaiser-Chiefs-tickets-withdrawn-after.5227614.jp"&gt;here&lt;/a&gt;,  but the gist of it is that when they brought the site back up it had been restored to a point prior to when the tickets were sold!  That means many people bought tickets to a sold-out show, only to discover later that their tickets were worthless!&lt;br /&gt;&lt;br /&gt;In this case there was no money actually lost (the show was sold out), but the embarrassment and PR fiasco made up for it.   Were it something besides a concert there could have been lawsuits to deal with!&lt;br /&gt;&lt;br /&gt;Since I have now signed up for Google Alerts on the topic of website crashes I'm sure I'll be busy as a beaver with these posts, so check back often!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-3002108734748719126?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/3002108734748719126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/kaiser-chiefs-tickets-withdrawn-after.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3002108734748719126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3002108734748719126'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/kaiser-chiefs-tickets-withdrawn-after.html' title='Kaiser Chiefs Website Crash Fiasco!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfx82XIZriI/AAAAAAAAALg/pvvapoeCpM8/s72-c/KaiserChiefs.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7725894953747210350</id><published>2009-05-02T08:59:00.000-07:00</published><updated>2009-05-02T10:29:29.670-07:00</updated><title type='text'>Liza Minnelli Crashes Sydney Opera House Website!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfxvd4oAO1I/AAAAAAAAALY/EJQHYJvPgTk/s1600-h/LizaMinnelli.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 175px; height: 200px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfxvd4oAO1I/AAAAAAAAALY/EJQHYJvPgTk/s200/LizaMinnelli.jpg" alt="" id="BLOGGER_PHOTO_ID_5331258618106886994" border="0" /&gt;&lt;/a&gt;This happened Thursday, the day before yesterday, when fans eager to buy tickets for her show descended on the Sidney Opera House website in droves and brought it to its knees.&lt;br /&gt;&lt;br /&gt;The Daily Telegraph has this to say about it:&lt;br /&gt;&lt;div style="font-style: italic;" class="split-page clearfloat"&gt;&lt;!-- Lead Content Panel --&gt; &lt;div class="lead-content-panel article clearfloat" id="text-big"&gt; &lt;div class="btm20"&gt; &lt;p class="standfirst"&gt;&lt;strong style="display: block;"&gt;WE'RE sure it has absolutely  nothing to do with Sydney being the gay capital of the nation but interest in  pre-sales for Liza Minnelli's Sydney concert tour crashed the Sydney Opera  House's website yesterday.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The site went down at midday, with interest in the two Sydney shows - on  October 16 and 17 - so great it took tech staff hours to get the site up and  running again.&lt;/p&gt; &lt;p&gt;Minnelli, the daughter of legendary singer and movie star &lt;strong&gt;Judy  Garland&lt;/strong&gt;, will be accompanied by her 12-piece orchestra when she  tours.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;I'm not so sure the gay community had nothing to do with it nor am I sure this gratuitous reference had any place in the article.  However, this pattern of websites crashing when tickets go on sale seems to be evident all over (see the Jonas Brothers incident from the week before).&lt;br /&gt;&lt;br /&gt;Obviously the Sidney Opera House website could have used a &lt;span style="font-weight: bold;"&gt;CapCal CloudBurst&lt;/span&gt; test to tell them at what level it would begin to strain, at which point the &lt;span style="font-weight: bold;"&gt;Amazon EC2&lt;/span&gt; cloud could come to the rescue by providing the extra capacity on demand (i.e., "cloudbursting").&lt;br /&gt;&lt;br /&gt;We're going to be trying this with a large e-commerce site in Sao Paulo, Brazil and I'll be faithfully reporting the results.  So please stay tuned!&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7725894953747210350?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7725894953747210350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/liza-minnelli-crashes-sydney-opera.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7725894953747210350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7725894953747210350'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/liza-minnelli-crashes-sydney-opera.html' title='Liza Minnelli Crashes Sydney Opera House Website!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfxvd4oAO1I/AAAAAAAAALY/EJQHYJvPgTk/s72-c/LizaMinnelli.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5802877965336426456</id><published>2009-04-26T11:30:00.000-07:00</published><updated>2009-05-01T20:08:34.171-07:00</updated><title type='text'>The Perils of Driving Too Fast</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfotviqwFGI/AAAAAAAAAIY/GqXj240yBGY/s1600-h/gates.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 251px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfotviqwFGI/AAAAAAAAAIY/GqXj240yBGY/s320/gates.jpg" alt="" id="BLOGGER_PHOTO_ID_5330623403729622114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yes that is exactly who you think it is, the future Richest Man in the World, Richie Rich++, the One and Only &lt;span style="font-weight: bold;"&gt;Mr. Bill Gates&lt;/span&gt; when he was booked into the Albuquerque City Jail on December 13, 1977!  Was he caught robbing an old lady on the street?  No, he was busted for &lt;span style="font-weight: bold;"&gt;speeding&lt;/span&gt; of all things!&lt;br /&gt;&lt;br /&gt;I was living in Albuquerque at the time and might have seen him burning rubber on Central Ave for all I know.  In 1979 I went to work for MITS, at the very same place where he and Paul Allen worked, but he and Paul had moved to Washington to start Microsoft by then.  What did I do for MITS on the old Altair 8080, you ask?  Why, I wrote diagnostic test code in 8080 machine language, that's what!  Once a tester always a tester I suppose.&lt;br /&gt;&lt;br /&gt;But I digress, back to the topic of driving too fast.  If you drive your Web app too fast you will end up exactly like you will if you drive your Ferrari too fast - you'll either crash or run out of gas.  From our point of view the app has become very, very slow, but from the server's point of view it is going as fast as it possibly can!&lt;br /&gt;&lt;br /&gt;And what do you think it would take to bring a high end server to that point, or even an entire cluster or farm of high end servers?  It could take lots of computers, that's what.  How many depends on the size of the infrastructure, a case where size definitely DOES matter.&lt;br /&gt;&lt;br /&gt;That's where &lt;span style="font-weight: bold;"&gt;cloud computing&lt;/span&gt; comes into play, and right now that means the &lt;a href="http://aws.amazon.com/"&gt;Amazon EC2 Elastic Cloud&lt;/a&gt;.  Don't get me started on what a wonderful thing it is or I'll never get back to the subject at hand.  But at the click of a mouse I can now spawn as many virtual computers as I like, use them in a large scale performance test, and shut them down when I'm through with them.  If that doesn't sound &lt;span style="font-weight: bold;"&gt;very&lt;/span&gt; interesting to you, then you are at the wrong blog - try one of the links on the right!&lt;br /&gt;&lt;br /&gt;Coming next - a view into the Cloud!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5802877965336426456?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5802877965336426456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/perils-of-driving-too-fast.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5802877965336426456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5802877965336426456'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/perils-of-driving-too-fast.html' title='The Perils of Driving Too Fast'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfotviqwFGI/AAAAAAAAAIY/GqXj240yBGY/s72-c/gates.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-766825481062942809</id><published>2009-04-26T11:15:00.000-07:00</published><updated>2009-05-11T20:03:17.794-07:00</updated><title type='text'>News Flash - a Bookstore Owns the Cloud!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfo2ah8a-tI/AAAAAAAAAIg/HoeURXa9gnk/s1600-h/logo_aws.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 263px; height: 95px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfo2ah8a-tI/AAAAAAAAAIg/HoeURXa9gnk/s400/logo_aws.gif" alt="" id="BLOGGER_PHOTO_ID_5330632938362698450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I think it's marvelous to see that Amazon had it together enough to be the first and the best in the cloud computing arena, something that Google, IBM, Microsoft, Oracle and HP are all salivating over.  Take that, ya big technological bullies!&lt;br /&gt;&lt;br /&gt;But the EC2 Cloud is only one of a whole string of innovations that Amazon has cooked up, starting from the Web services that allow every Mom and Pop shop in the known universe to sell their books on Amazon.  First it was "software as a service" and now it is "computing as a service".  Computing as a service is actually a radical idea if you think about it.  No longer are we constrained by space or time when it comes to how many computers we can own and use, and just think of the number of warranty forms we won't have to fill out and send in!  And don't even get me started about factory rebates, that's a rant topic all on its own - if the Cloud saves us from that hell it is ROI enough if you ask me!&lt;br /&gt;&lt;br /&gt;Of course, all the CIOs of the world are asking the same questions, namely will the total cost of ownership be less, will their applications and data be secure enough, will the service be reliable enough, and will they get equal or better performance.  Once all those questions are answered in the affirmative we can expect our landfills to fill up quickly with discarded servers and server racks.  Either that or Obama can ship them off to Fidel as a gesture of good will and as compensation for not having Amazon EC2 down there. Ouch.&lt;br /&gt;&lt;br /&gt;Microsoft and Google have both launched cloud computing initiatives but if you ask me they have completely missed the boat.  They are more into application hosting, which to me is not any different from existing web hosting providers - for now their services are free (or at least Microsof's Azure is) but if they aren't doing cloud computing like Amazon is doing it they've been left behind in the pit on the very first lap.&lt;br /&gt;&lt;br /&gt;On the subject of being left behind in the pit, it seems to me that the Amazon Cloud, or cloud computing in general, is where Linux will finally come into its own.  Windows has evolved into massive bloatware as you know, and waiting for Windows Server 2003 to boot up is like waiting for water to boil.  But the CapCal Agent runs on a stripped down version of Linux that weighs only 125MB and boots up in 20 to 30 seconds rather than the 5 minutes Windows Server takes!&lt;br /&gt;&lt;br /&gt;The Tortoise and the Hare, the race car and the VW bug - the analogies are abundant and will be exploited with great relish in posts to come.  Suffice it to say that if Windows were a car and Bill Gates was driving it he would never have gotten a speeding ticket, that's for sure!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-766825481062942809?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/766825481062942809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/friggin-bookstore-dominates-cloud-folks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/766825481062942809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/766825481062942809'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/friggin-bookstore-dominates-cloud-folks.html' title='News Flash - a Bookstore Owns the Cloud!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfo2ah8a-tI/AAAAAAAAAIg/HoeURXa9gnk/s72-c/logo_aws.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-1838597967597893376</id><published>2009-04-25T10:11:00.000-07:00</published><updated>2009-05-01T14:46:49.570-07:00</updated><title type='text'>In the News - Jonas Brothers Website Crashes</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsefiebD2I/AAAAAAAAAJ4/FxhqpmYzk9U/s1600-h/jonas-brothers-david-letterman-6.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 207px; height: 323px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsefiebD2I/AAAAAAAAAJ4/FxhqpmYzk9U/s200/jonas-brothers-david-letterman-6.jpg" alt="" id="BLOGGER_PHOTO_ID_5330888111102300002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This just in from www.topsocialite.com on March 23:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Kevin Jonas, Nick Jonas and Joe Jonas&lt;br /&gt;&lt;br /&gt;The Jonas Brothers’ brand new fan club website crashed this morning as fans tried to grab tickets for the upcoming tour.&lt;br /&gt;&lt;br /&gt;Several thousand fans hit the website in hopes of landing pre-sale passes to the North American concerts, causing the website to crash.&lt;br /&gt;&lt;br /&gt;A statement from the Jonas Brothers reads,&lt;br /&gt;&lt;br /&gt;“Due to overwhelming demand among Team Jonas members for pre-sale tickets for the Jonas Brothers World Tour 2009, the official Team Jonas fan club website experienced intermittent problems this morning, causing delays among members attempting to connect to purchase tickets.&lt;br /&gt;&lt;br /&gt;“For those of you still needing access codes, we are in the process of contacting fan club members individually with a solution so that you can purchase tickets as soon as possible. Rest assured that only Team Jonas fan club members will continue to have exclusive access to purchase tickets for the next 36 hours.”&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Looks to me like the Jonas Brothers are in dire need of CapCal services, doesn't it? They obviously tried to go &lt;span style="font-weight: bold;"&gt;way&lt;/span&gt; faster than their infrastructure allowed and ended up crashing.  I'm embarrassed to say that I don't know who the Jonas Brothers are, but thousands of people apparently do and were trying to &lt;span style="font-weight: bold;"&gt;buy tickets&lt;/span&gt; when their web site hit the wall!&lt;br /&gt;&lt;br /&gt;Who knows how much money may have been lost or delayed but this kind of thing happens every day.  I notice it myself at least once a day when I click on a CNN news item that points to the website of some TV station in Nebraska - it just can't keep up with the number of clicks it's getting so I give up after waiting 20 or 30 seconds, don't you?&lt;br /&gt;&lt;br /&gt;I hope the Jonas Brothers are reading this but what are the chances of that, eh?  If they are I'm sure they will insist that their website be outfitted with a &lt;span style="font-weight: bold;"&gt;CapCal Web Speedometer&lt;/span&gt; and subjected to a &lt;span style="font-weight: bold;"&gt;CloudBurst&lt;/span&gt; or two before selling tickets.  Speed laws on the Web are self-enforcing as you can see, so at least they didn't get any tickets (but then neither did their fans)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-1838597967597893376?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/1838597967597893376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/in-news-jonas-brothers-website-crashes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1838597967597893376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1838597967597893376'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/in-news-jonas-brothers-website-crashes.html' title='In the News - Jonas Brothers Website Crashes'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsefiebD2I/AAAAAAAAAJ4/FxhqpmYzk9U/s72-c/jonas-brothers-david-letterman-6.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6718701357693317362</id><published>2009-04-25T09:34:00.000-07:00</published><updated>2009-05-01T15:29:30.889-07:00</updated><title type='text'>The Great Superbowl Trainwreck of 1999</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsoB4HqpaI/AAAAAAAAAKA/pqsxmCNqirw/s1600-h/ult_sseymour_01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 258px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsoB4HqpaI/AAAAAAAAAKA/pqsxmCNqirw/s320/ult_sseymour_01.jpg" alt="" id="BLOGGER_PHOTO_ID_5330898596632634786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Please pardon what may appear to be a gratuitous sex shot because I think you will immediately see the relevance and importance of it.&lt;br /&gt;&lt;br /&gt;As I mentioned earlier, Victoria's Secret ran an ad on the Superbowl that invited tens of millions of drunken guys  to their website to see the likes of this beauty, Stephanie Seymour, modeling their latest lingerie fashions.  I won't publish the entire CNN article but you can read it &lt;a href="http://www.cnn.com/TECH/computing/9902/05/vicweb.idg/"&gt;here&lt;/a&gt;.  Here are the first two paragraphs:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The media blitz that Victoria's Secret used to hype its  first-ever live online fashion show paid off, creating high  demand at its Web site.   &lt;/span&gt;&lt;p style="font-style: italic;"&gt;  But that success also posed a problem because the  high traffic volume meant some viewers were unable to  see supermodels such as Stephanie Seymour and Tyra  Banks strut down the catwalk in the latest lingerie from  the retailer.   &lt;/p&gt;You're probably thinking what I'm thinking - forget about the impact to Victoria's Secret's bottom line, what about those millions upon millions of guys who were deprived of the chance to see Stephanie and Tyra strut down the catwalk?&lt;br /&gt;&lt;br /&gt;If the seriousness of the problem hasn't penetrated your gray matter by now I'm sure it finally has.  The crash of the site might have been embarrassing but it brought them even more publicity and that's good.  But many of those guys had to wait a day or two before they could gaze at these beauties,  and that's just not right!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6718701357693317362?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6718701357693317362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/superbowl-trainwreck-of-1999.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6718701357693317362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6718701357693317362'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/superbowl-trainwreck-of-1999.html' title='The Great Superbowl Trainwreck of 1999'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsoB4HqpaI/AAAAAAAAAKA/pqsxmCNqirw/s72-c/ult_sseymour_01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5108024788887783711</id><published>2009-04-25T09:00:00.000-07:00</published><updated>2009-05-01T20:05:53.319-07:00</updated><title type='text'>Wal-Mart Website Crashes on Black Friday!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfsux7-ENII/AAAAAAAAAK4/pWsbkayw9DI/s1600-h/walmart.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 185px; height: 50px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfsux7-ENII/AAAAAAAAAK4/pWsbkayw9DI/s400/walmart.gif" alt="" id="BLOGGER_PHOTO_ID_5330906019369596034" border="0" /&gt;&lt;/a&gt;This &lt;a href="http://www.searchenginejournal.com/walmartcom-crashes-on-black-friday/4041/"&gt;newsflash&lt;/a&gt; is not as fresh as the Jonas Brothers meltdown, but it's certainly not &lt;span style="font-weight: bold;"&gt;prehistoric&lt;/span&gt; like the Victoria Secret Superbowl event - that was &lt;span style="font-weight: bold;"&gt;1999&lt;/span&gt;, folks, not just a decade ago but the end of the last Millennium!  If I dedicated this blog ONLY to website crashes I would never run out of things to write about!   If you don't believe me, do a google on "website crashes" and you will get &lt;b&gt;7,810,000&lt;/b&gt; hits!&lt;br /&gt;&lt;br /&gt;Let's face it, if the Web were a racetrack there would be spectacular wrecks happening far more often than in the Indy 500!  Watching the flame-outs is one of the things I enjoy most about the Indy or the Formula One, but I doubt the drivers would agree unless it was some other guy!&lt;br /&gt;&lt;br /&gt;You may laugh (I know I do), but you can bet that the shareholders of Wal-Mart were &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; laughing about missing out on THE biggest sales day of the year.  How on earth can a company as big and powerful and RICH as Wal-Mart allow such a thing to happen?  Need I remind you that they are THE biggest company in the WORLD?&lt;br /&gt;&lt;br /&gt;I'm sure heads were rolling at whatever company manages their IT operations (or formerly managed them that is).  That's the kind of news we usually don't read about, maybe because people getting fired is such a routine occurrence.   But when the biggest company in the world misses out on the biggest sales day of the year you would think SOMEBODY would say something about the emperor's lack of clothes!&lt;br /&gt;&lt;br /&gt;Well, that "somebody" would be Yours Truly and I just may appoint myself Web Traffic Cop if you're not careful!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5108024788887783711?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5108024788887783711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/wal-mart-website-crashes-on-black.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5108024788887783711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5108024788887783711'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/wal-mart-website-crashes-on-black.html' title='Wal-Mart Website Crashes on Black Friday!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/Sfsux7-ENII/AAAAAAAAAK4/pWsbkayw9DI/s72-c/walmart.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5394348715851057365</id><published>2009-04-25T08:30:00.000-07:00</published><updated>2009-05-01T14:40:16.605-07:00</updated><title type='text'>A Traffic Cop on the Wild, Wild Web</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfs0K4t19HI/AAAAAAAAALA/pyJcN9RWuHg/s1600-h/traffic-cop.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 143px; height: 233px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfs0K4t19HI/AAAAAAAAALA/pyJcN9RWuHg/s320/traffic-cop.jpg" alt="" id="BLOGGER_PHOTO_ID_5330911945551115378" border="0" /&gt;&lt;/a&gt;Yep, that's me - can't you tell?  I'm going to be issuing speeding tickets to companies that exceed the speed limit and cause their web site to crash.  There has to be a crash, of course, or I would never know about it .  Reckless handling of Web capacity is rampant these days, as if people were driving Ferraris on the Autobahn without speedometers.&lt;br /&gt;&lt;br /&gt;When I figure out a way to turn the &lt;span style="font-weight: bold;"&gt;Web Speedometer &lt;/span&gt;into a &lt;span style="font-weight: bold;"&gt;Web Radar Speed Detector&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; THEN the big IT services organizations might finally listen to me and get the point.  Until then, I'll continue issuing citations at the crash scene, gathering witness testimony and so forth.&lt;br /&gt;&lt;br /&gt;Step back, please, nothing to see here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5394348715851057365?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5394348715851057365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/traffic-cop-on-wild-wild-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5394348715851057365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5394348715851057365'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/traffic-cop-on-wild-wild-web.html' title='A Traffic Cop on the Wild, Wild Web'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfs0K4t19HI/AAAAAAAAALA/pyJcN9RWuHg/s72-c/traffic-cop.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6155547719344646222</id><published>2009-04-25T08:03:00.000-07:00</published><updated>2009-05-01T14:39:30.470-07:00</updated><title type='text'>Spectacular J Crew Crash on Inauguration Day!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sfs5259bRkI/AAAAAAAAALI/5sdZV1b5YeM/s1600-h/Nascar-race-wreck.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 181px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/Sfs5259bRkI/AAAAAAAAALI/5sdZV1b5YeM/s320/Nascar-race-wreck.jpg" alt="" id="BLOGGER_PHOTO_ID_5330918199357294146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bits.blogs.nytimes.com/2009/01/21/seeking-obama-fashions-visitors-crash-j-crews-web-site/"&gt;Here &lt;/a&gt;is an interesting article about how the J Crew website crashed on Inauguration Day when umpteen thousand women and girls decided they MUST have the  &lt;a href="http://www.nytimes.com/slideshow/2009/01/20/us/20090120SWEARINGIN_9.html"&gt;pale pink and royal blue wool coats&lt;/a&gt; worn by Obama's daughters!&lt;br /&gt;&lt;br /&gt;According to the NY Times:&lt;br /&gt;&lt;p style="font-style: italic;"&gt;By Tuesday afternoon, the Web page on &lt;a href="http://www.jcrew.com/"&gt;J. Crew’s site&lt;/a&gt; that features women’s gloves had crashed. By Wednesday morning, the whole women’s section of the site had crashed. Later in the day, the entire site was down, with a note that said, “Stay tuned…Sorry, we’re experiencing some technical difficulties right now (even the best sites aren’t perfect). Check back with us in a little while.” &lt;span id="more-2337"&gt;&lt;/span&gt;&lt;/p&gt; &lt;span style="font-style: italic;"&gt;J. Crew’s Web site joins the many media sites that could not keep up with the surge of inauguration Web traffic. Many of the sites that promised to stream live video of the inauguration &lt;/span&gt;&lt;a style="font-style: italic;" href="http://bits.blogs.nytimes.com/2009/01/20/news-sites-struggle-to-stream-obamas-innaguration-speech/"&gt;struggled or failed to provide&lt;/a&gt;&lt;span style="font-style: italic;"&gt; a steady stream because of the influx of traffic. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I think you can see why I chose this particular photo - it wasn't just J Crew, their suppliers, and  their suppliers' suppliers who felt the pain, it was the &lt;span style="font-weight: bold;"&gt;many media sites that could not keep up with the traffic&lt;/span&gt;.  Hence the spectacular collision depicted above.&lt;br /&gt;&lt;br /&gt;It will take me a while to write up this many tickets so please check back later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6155547719344646222?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6155547719344646222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/j-crew-causes-massive-collision-at.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6155547719344646222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6155547719344646222'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/j-crew-causes-massive-collision-at.html' title='Spectacular J Crew Crash on Inauguration Day!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/Sfs5259bRkI/AAAAAAAAALI/5sdZV1b5YeM/s72-c/Nascar-race-wreck.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-1701189754902843303</id><published>2009-04-25T07:05:00.001-07:00</published><updated>2009-05-14T16:27:46.722-07:00</updated><title type='text'>Meanwhile, Off to the Races!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgjCaYxwWWI/AAAAAAAAANo/F5z0Hmor1Jo/s1600-h/speedraces.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 143px;" src="http://4.bp.blogspot.com/__Ho4v83ZSkc/SgjCaYxwWWI/AAAAAAAAANo/F5z0Hmor1Jo/s400/speedraces.JPG" alt="" id="BLOGGER_PHOTO_ID_5334727517203880290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Waiting for &lt;span style="font-weight: bold;"&gt;diapers.com&lt;/span&gt; to get back to me about this &lt;span style="font-weight: bold;"&gt;once-in-a-lifetime opportunity&lt;/span&gt; has given me the chance to return to my other obsession besides &lt;span style="font-weight: bold;"&gt;load &lt;/span&gt;and that is &lt;span style="font-weight: bold;"&gt;speed&lt;/span&gt;.   How fast is your server?  Is it faster than mine?  Is it faster than it was before the last patch or memory upgrade? How much slower is it running in a virtual machine?  What about on the Cloud?   Or, one of my favorites, which one is faster, Linux or Windows?&lt;br /&gt;&lt;br /&gt;I know, those are trick questions because there's no way to know if you don't have a way to easily and effectively measure such things.  Well, &lt;span&gt;the&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; CapCal&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Performance Rating Test&lt;/span&gt; is exactly that and you're welcome to use it yourself if you wish - just write to info@capcal.com and we'll send you a form to fill out with a download link.  But if you just follow along here you'll see what I'm talking about.&lt;br /&gt;&lt;br /&gt;I'm talking about a performance test that takes the CPU, the OS,  the database, the network stack and overall throughput into account, and a way of doing the &lt;span style="font-weight: bold;"&gt;same thing&lt;/span&gt; on both major platforms.  The &lt;span style="font-weight: bold;"&gt;Java Pet Store&lt;/span&gt; is one of Sun's benchmark reference applications and Microsoft thought so highly of it they developed the &lt;span style="font-weight: bold;"&gt;.NET Pet Shop&lt;/span&gt; equivalent.   So this is what we use in the &lt;span style="font-weight: bold;"&gt;CapCal Performance Rating Test&lt;/span&gt; and we think it's the ideal choice, especially since it's been blessed by the powers that be.&lt;br /&gt;&lt;br /&gt;Oh yes, and did I mention that I am a total Linux idiot? I know I did at least once.  I tried to install the Java Pet Store on Debian Linux and got it copied to the hard drive.  Then I realized I didn't have the Apache web server installed, and the word Apache reminded me of how Custer must have felt surrounded by all those Indians.  I didn't feel &lt;span style="font-weight: bold;"&gt;that&lt;/span&gt; bad, but I can tell you I felt a similar desperation. If &lt;span style="font-weight: bold;"&gt;someone&lt;/span&gt; will help me, or if I can find the time to blunder through it, I will begin the &lt;span style="font-weight: bold;"&gt;Linux vs. Windows Speed Races&lt;/span&gt;, right here at the &lt;span style="font-weight: bold;"&gt;CapCal Blog&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;Gentlemen, start your engines!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-1701189754902843303?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/1701189754902843303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/05/in-meantime-off-to-races.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1701189754902843303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/1701189754902843303'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/05/in-meantime-off-to-races.html' title='Meanwhile, Off to the Races!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__Ho4v83ZSkc/SgjCaYxwWWI/AAAAAAAAANo/F5z0Hmor1Jo/s72-c/speedraces.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-3435136543266961968</id><published>2009-04-25T06:55:00.000-07:00</published><updated>2009-05-11T15:13:21.419-07:00</updated><title type='text'>The Need for Standard Performance Ratings</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsVPuoTHLI/AAAAAAAAAJo/Pfy6mvE1Qdg/s1600-h/STOPWATCH.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 50px; height: 71px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsVPuoTHLI/AAAAAAAAAJo/Pfy6mvE1Qdg/s200/STOPWATCH.jpg" alt="" id="BLOGGER_PHOTO_ID_5330877943882390706" border="0" /&gt;&lt;/a&gt;You can't manage something you can't measure, which means the performance of distributed web apps, whether they are running on "bare metal", local virtual servers or remote ones on the cloud, is totally unmanageable. There is no, and I mean NO standard way of comparing the performance of two servers, or even two versions of the same server, much less with bandwidth and connectivity taken into account. We can measure all the bits and pieces, from CPU speed to upload and download speeds, but we can't measure the &lt;strong&gt;whole&lt;/strong&gt; and make valid and useful conclusions of any kind.&lt;br /&gt;&lt;br /&gt;That's because the "whole" includes so many things, from the web server to the database to the OS to the network stack. How on earth can you measure all of that and say that it is faster or slower than anything else?&lt;br /&gt;&lt;br /&gt;You do it the same way they do it in other industries, by defining and adhering to standard benchmarks that are reliable, repeatable, easy to use, and most of all, done in the same way each and every time. This has been a challenge in the past because competing operating systems, databases and so forth make it very difficult (though not impossible) to compare apples to apples.&lt;br /&gt;&lt;br /&gt;The CapCal Server Performance Rating Test is a packaged performance test that is quickly and easily installed on any server and contains everything necessary to run a 2 minute performance test against a standard Web app, the Java Pet Shop (which has a .NET equivalent). The total number of pets purchased by 20 users over 2 minutes will be your rating number, which is large enough to be granular (in the hundreds or thousands) and small enough to be easily categorized. Since it exercises the entire stack (including the storage subsystem), this test is not only a good performance indicator but an excellent health indicator as well - all the important subsystems have to be up and running for the test to even start.&lt;br /&gt;&lt;br /&gt;Following posts will show the CapCal Rating Test being run in a variety of instances so we can dissect them and see what they are telling us.&lt;span style="font-weight: bold; font-style: italic;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-3435136543266961968?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/3435136543266961968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/need-for-standard-performance-rating.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3435136543266961968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/3435136543266961968'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/need-for-standard-performance-rating.html' title='The Need for Standard Performance Ratings'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfsVPuoTHLI/AAAAAAAAAJo/Pfy6mvE1Qdg/s72-c/STOPWATCH.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6532026906403098112</id><published>2009-04-25T06:50:00.000-07:00</published><updated>2009-05-11T15:14:16.154-07:00</updated><title type='text'>A Busy Customer at the Pet Shop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfczSWQgqZI/AAAAAAAAAEA/NahiUl0UjKM/s1600-h/1user.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 262px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfczSWQgqZI/AAAAAAAAAEA/NahiUl0UjKM/s400/1user.JPG" alt="" id="BLOGGER_PHOTO_ID_5329785074321762706" border="0" /&gt;&lt;/a&gt;The test above shows how many pets a single user can buy from the Pet Shop in one minute if they don't pause between pages. Obviously it's not a "real world" simulation since people DO pause between pages, but it's exactly that kind of variability that we have to cut out if we're going to compare apples to apples.&lt;br /&gt;&lt;br /&gt;At the top right you see that the total number completed was 55, so we were almost able to buy one persian cat per second. There are 12 pages in this test, which means we are processing almost 12 pages per second, and you can see that the average site delay (the time between when the request was first made and the last byte of the response was received) is only 0.001 seconds, which is 10 milliseconds or &lt;strong&gt;100 microseconds&lt;/strong&gt;. I'm so old that I remember when certain machine instruction cycles lasted that long!&lt;br /&gt;&lt;br /&gt;OK, so what does this tell us about server performance? To test our accuracy, if we double the users we should double the number of cats purchased, right?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6532026906403098112?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6532026906403098112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/busy-customer-at-pet-shop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6532026906403098112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6532026906403098112'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/busy-customer-at-pet-shop.html' title='A Busy Customer at the Pet Shop'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfczSWQgqZI/AAAAAAAAAEA/NahiUl0UjKM/s72-c/1user.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6506072832205672852</id><published>2009-04-25T05:55:00.000-07:00</published><updated>2009-05-11T15:14:52.581-07:00</updated><title type='text'>Twins at the Pet Shop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SfczaqZle_I/AAAAAAAAAEI/ik4snmJuTts/s1600-h/2users.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 254px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SfczaqZle_I/AAAAAAAAAEI/ik4snmJuTts/s400/2users.JPG" alt="" id="BLOGGER_PHOTO_ID_5329785217167490034" border="0" /&gt;&lt;/a&gt;Yep, you got it - 2 users can buy 110 cats in one minute. Now we are processing 24 pages a second and buying close to two cats per second instead of one.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;But look at the average site delay - it too has doubled, from 100 microseconds to 200 microseconds!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;That's to be expected, of course - you don't get something for nothing. So can I safely make the assumption that I can buy 10 cats a second with 10 users?  1oo per second with 100?  And if so, where will I put them all?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6506072832205672852?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6506072832205672852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/twins-at-pet-shop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6506072832205672852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6506072832205672852'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/twins-at-pet-shop.html' title='Twins at the Pet Shop'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SfczaqZle_I/AAAAAAAAAEI/ik4snmJuTts/s72-c/2users.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6404638463376359130</id><published>2009-04-25T04:45:00.000-07:00</published><updated>2009-05-11T15:15:41.716-07:00</updated><title type='text'>Ten Customers at the Virtual Pet Shop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SfdFrlGhE1I/AAAAAAAAAFA/YzclXxQt03Q/s1600-h/10usersvirtual.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 247px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SfdFrlGhE1I/AAAAAAAAAFA/YzclXxQt03Q/s400/10usersvirtual.JPG" alt="" id="BLOGGER_PHOTO_ID_5329805299012408146" border="0" /&gt;&lt;/a&gt;As we see, 10 customers can purchase 526 cats in a minute, or 8.8 cats per second.  That's a lot of cats, especially for someone like me who is not especially a cat person. If you don't mind, I think we'll start buying dogs instead - it shouldn't affect the test results since both are 3 letter words, and it will help keep all the cats under control!&lt;br /&gt;&lt;br /&gt;Perhaps a 2 minute test with 20 users is overkill - maybe 10 users over 1 minute is just as good if not better.  It's definitely better for being shorter, and the total is sufficiently large as to save us from having to think in fractions.    After all, we're testing our servers, not our brains!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6404638463376359130?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6404638463376359130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/blog-post_28.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6404638463376359130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6404638463376359130'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/blog-post_28.html' title='Ten Customers at the Virtual Pet Shop'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SfdFrlGhE1I/AAAAAAAAAFA/YzclXxQt03Q/s72-c/10usersvirtual.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-5548237842921175642</id><published>2009-04-24T14:30:00.000-07:00</published><updated>2009-05-02T16:42:17.876-07:00</updated><title type='text'>The Buck Starts Here</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfn-7jjEOlI/AAAAAAAAAGo/YugofYOFKEI/s1600-h/buckstopsherefrontsmall.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 123px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfn-7jjEOlI/AAAAAAAAAGo/YugofYOFKEI/s320/buckstopsherefrontsmall.jpg" alt="" id="BLOGGER_PHOTO_ID_5330571933077748306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For those of you non-Americans, there is an old expression called "passing the buck", which means to place the responsibility on someone else's shoulders instead of taking it yourself.  President Harry Truman had the above sign on his desk, meaning that he had ultimate responsibility since there was nobody else he could "pass the buck" to.&lt;br /&gt;&lt;br /&gt;As you know from earlier chapters, the performance of a distributed, Web-based application is determined by many factors, from database queries on the back end to the speed of the client connection on the front end. Many of these are beyond our control as developers and yet we still have more control over performance than anyone - a poorly written database query is slow regardless of the speed of the network, for example. And not just the network itself, but firewalls, domains, SSL encryption and a host of other things can impact performance in the production environment.&lt;br /&gt;&lt;br /&gt;So even if the buck doesn’t STOP with development, it certainly does START with development. And yet developers by and large have abdicated that responsibility to QA and IT Operations, expecting that whatever performance testing is done when everything is in place will uncover any issues that might be lurking. “It worked great in the lab” is a familiar refrain because it’s true – in the lab there are 1GB Ethernet connections to dedicated servers being accessed by developers who have the fastest computers in the company!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-5548237842921175642?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/5548237842921175642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/for-those-of-you-non-americans-there-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5548237842921175642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/5548237842921175642'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/for-those-of-you-non-americans-there-is.html' title='The Buck Starts Here'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/Sfn-7jjEOlI/AAAAAAAAAGo/YugofYOFKEI/s72-c/buckstopsherefrontsmall.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-484528580871008551</id><published>2009-04-24T14:29:00.000-07:00</published><updated>2009-05-02T16:43:55.276-07:00</updated><title type='text'>No Longer Just a Hardware Problem</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoARd4d5oI/AAAAAAAAAHA/69QHMqkx4M8/s1600-h/img251.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 127px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoARd4d5oI/AAAAAAAAAHA/69QHMqkx4M8/s200/img251.gif" alt="" id="BLOGGER_PHOTO_ID_5330573409025648258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In the olden days we were obsessed with performance because it was a necessity – if you had a 64K memory limit it made sense to sweat over such things as the number of CPU cycles a given instruction used up.  Performance is just as important now as it was then, but memory is abundant and hardware is cheap so what’s the problem?&lt;br /&gt;&lt;br /&gt;The problem is that you can’t manage something you can’t measure, and the kinds of measurements that we developers have at our disposal are sometimes not all that helpful or relevant.  We can profile our code and our database queries and look for performance hogs that way, but if our profiling doesn’t include the things end users will be doing it can be of little use in the end.  It might be something as simple as a new Flash animation that clogs the pipe and makes performance come to a crawl.  How will the developer know that with their 1GB connection and lightning fast client machine?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-484528580871008551?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/484528580871008551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/no-longer-just-hardware-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/484528580871008551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/484528580871008551'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/no-longer-just-hardware-problem.html' title='No Longer Just a Hardware Problem'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoARd4d5oI/AAAAAAAAAHA/69QHMqkx4M8/s72-c/img251.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6915541339354074070</id><published>2009-04-24T14:15:00.000-07:00</published><updated>2009-05-02T16:42:27.680-07:00</updated><title type='text'>Agile Performance Testing - an Oxymoron?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__Ho4v83ZSkc/SfoCKGosaSI/AAAAAAAAAHI/1bGM24JgPyY/s1600-h/SDLC.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 142px;" src="http://1.bp.blogspot.com/__Ho4v83ZSkc/SfoCKGosaSI/AAAAAAAAAHI/1bGM24JgPyY/s320/SDLC.jpg" alt="" id="BLOGGER_PHOTO_ID_5330575481549646114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today’s agile development methodologies are based on the notion that quality has to be built in from the beginning, not hoped for at the end.  The same applies to performance, which is just as important as functionality – after all, who cares if the ordering system works if it’s too slow for anyone to tolerate?&lt;br /&gt;&lt;br /&gt;One of the basic tenets of agile methodology is test-driven development, starting with unit tests that are written explicitly to fail until they can be proven to work.  This is exactly the time to start measuring and managing performance, so why do most companies wait until the last minute and hope for the best?&lt;br /&gt;&lt;br /&gt;One reason is that measuring performance requires subjecting the application to a level of load that will at least approximate, if not duplicate, the production environment.  Even though there are all kinds of tools available to do this, it is a costly and time-consuming effort even if the tool is free.  If I’m a developer working on a deadline, what’s in it for me to spend hours if not days creating and running load testing scripts if I know that in the end the issue of performance is out of my hands?  If I’m especially diligent I can do some code and database profiling to soothe my own conscience but I’m not likely to waste much time with a load testing tool unless I’m forced to.   Are you?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6915541339354074070?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6915541339354074070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/buck-starts-here.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6915541339354074070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6915541339354074070'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/buck-starts-here.html' title='Agile Performance Testing - an Oxymoron?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__Ho4v83ZSkc/SfoCKGosaSI/AAAAAAAAAHI/1bGM24JgPyY/s72-c/SDLC.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7700563572659396479</id><published>2009-04-24T13:45:00.001-07:00</published><updated>2009-05-02T16:42:47.115-07:00</updated><title type='text'>Writing Code to Test Code?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SfoDU6w2NNI/AAAAAAAAAHY/NTOw-Oh3Eow/s1600-h/CartoonComputer.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 140px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SfoDU6w2NNI/AAAAAAAAAHY/NTOw-Oh3Eow/s200/CartoonComputer.gif" alt="" id="BLOGGER_PHOTO_ID_5330576766852805842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;All of this, of course, flies in the face of the Agile Manifesto, wherein quality (and thus performance) is built in from the beginning by repeatable tests that are run automatically whenever changes are made.  If I am writing code already it doesn’t make sense for me to be writing even more code to test the performance of the code I’m writing – that becomes maddeningly recursive once your load tests themselves need tweaking!&lt;br /&gt;&lt;br /&gt;No, it’s hard enough to write unit tests that have to be maintained along with the code they are testing.  Instead, performance testing needs to be a by-product of something else we developers do every day, day in and day out, and that is manual functional testing.  If I am writing an order entry system like in the earlier example, I will be entering dozens or even hundreds of orders just to check my work.  So why not “repurpose” some number of those as performance tests?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7700563572659396479?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7700563572659396479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/writing-code-to-test-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7700563572659396479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7700563572659396479'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/writing-code-to-test-code.html' title='Writing Code to Test Code?'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SfoDU6w2NNI/AAAAAAAAAHY/NTOw-Oh3Eow/s72-c/CartoonComputer.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7605155176060307963</id><published>2009-04-24T13:35:00.000-07:00</published><updated>2009-05-02T16:43:03.095-07:00</updated><title type='text'>CapCal Agile Performance Testing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoGqYpdQhI/AAAAAAAAAHo/jNOw57rFphc/s1600-h/CapCalLogoSmall.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 185px; height: 102px;" src="http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoGqYpdQhI/AAAAAAAAAHo/jNOw57rFphc/s200/CapCalLogoSmall.jpg" alt="" id="BLOGGER_PHOTO_ID_5330580434187010578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;CapCal Agile Performance Testing (ATP) is a free online performance testing service designed to turn manual tests into performance tests that can be easily integrated into any agile development framework.  Along with the pass/fail status of the unit and functional tests, developers and QA analysts can now track overall performance trends that take everything into account, including bandwidth and throughput.  The impact of that new Flash animation on the Sales Order page will be immediately obvious instead of waiting until a few days before Go Live to be discovered.  And since we’ve gone to the trouble of building performance tests into the development cycle, it only makes sense for those in QA and Operations to leverage those tests instead of “rolling their own” and duplicating all that work.&lt;br /&gt;&lt;br /&gt;With CapCal APT, you can capture your manual tests and use them to create performance tests, which are automatically uploaded to the CapCal host server and used to drive the controller and load agent on your desktop (or whichever machine is doing the work).  A 2 minute performance test using 40 virtual users will yield a wealth of information about how the application performs under load, even if it doesn’t begin to tax the server.  If today’s performance results are 30% worse than yesterday’s, it’s easy to pinpoint the cause and much easier to fix it than it would be later.&lt;br /&gt;&lt;br /&gt;Of course, CapCal APT is just the tip of the CapCal iceberg, which covers the performance testing gamut from development to production, including the cloud and the Internet itself.  But for the teaming masses that simply want to measure performance in an agile development environment, it’s just what the doctor ordered!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7605155176060307963?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7605155176060307963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/capcal-agile-performance-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7605155176060307963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7605155176060307963'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/capcal-agile-performance-testing.html' title='CapCal Agile Performance Testing'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__Ho4v83ZSkc/SfoGqYpdQhI/AAAAAAAAAHo/jNOw57rFphc/s72-c/CapCalLogoSmall.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-6740681386992236073</id><published>2009-04-24T10:50:00.000-07:00</published><updated>2009-05-01T20:58:07.408-07:00</updated><title type='text'>Performance Testing in the Dinosaur Age</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SfppAIfhz-I/AAAAAAAAAJA/pD-xvCgQaGI/s1600-h/pdp_8.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 227px; height: 234px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SfppAIfhz-I/AAAAAAAAAJA/pD-xvCgQaGI/s200/pdp_8.jpg" alt="" id="BLOGGER_PHOTO_ID_5330688559947042786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Can you imagine a full Broadway production that only runs for a single night? It would have to be a really bad show! But that’s exactly what load testing used to be like, and still is if you automate the old-fashioned way. Writing test scripts, setting up computers to generate the load, running the test scripts by hand, and evaluating the results is like a really awful Broadway production. Problem is, the next time you make changes to your application you have to do the whole thing all over again. At least a bad show never comes back—this one does, but not often enough to keep the whole cast and crew hanging around!&lt;br /&gt;&lt;br /&gt;That reminds me of a story. Back in 1981 (the dinosaur age in Internet time), I worked as a software test engineer for a company called Basic Four in Irvine, California. Basic Four manufactured a “minicomputer” that was the size of a small refrigerator and about half as fast as that old 386 machine in your closet. As many as 100 dumb terminals could be attached to a single machine and used for data entry tasks (or so the marketing guys claimed). My job was to prove that the computer really could support 100 terminals.&lt;br /&gt;&lt;br /&gt;Proving that it couldn’t did not seem to be an option. So I dutifully wheeled in several racks of CRT terminals, exactly 100, from the manufacturing floor and painstakingly connected all of the cables and cords. My boss cheerfully suggested that we post an announcement on the cafeteria bulletin board, asking for volunteers from the factory floor to help us with the test. We could even offer free pizza to entice them!&lt;br /&gt;&lt;br /&gt;“Forget it,” I said, “most of the people on the floor don’t speak English and have better taste in food. And it seems like a silly thing to do if we have to repeat it every time we change the software—can we really afford that much pizza? If we offered free beer we would draw more people for sure, but it might mess up the test results if they throw up on the keyboard or get tipsy. So I’ll just throw together a little program to write to the disk drive and display characters on the CRT—at least it will be similar to what happens in real life.”&lt;br /&gt;&lt;br /&gt;So that’s what I did. One after the other, I logged in at each terminal and started up my test program. The screen began to fill up with dots and then I moved on to the next one. I began to notice that the dots on all the screens moved just a little bit slower with each one I added. By the time I got to about 30, they were barely even moving at all. “Oops!” I thought, “My test program must be too demanding on the CPU—back to the drawing board.”&lt;br /&gt;&lt;br /&gt;So I rewrote the test program to be a bit more realistic. I started with what a fast typist might do (say, eighty words a minute) and calculated the average delay between keystrokes. Then I wrote a routine that put the program to sleep for that period of time and woke it back up long enough to send a dot to the screen. After eighty such iterations, I told it to send eighty bytes of data to the disk to simulate saving a record. Then, of course, I had to go back to all the terminals, one by one, to kill the previous version of the program that was running and start up the new one.&lt;br /&gt;&lt;br /&gt;By then it was nighttime, and my boss showed up with pizza. (Was it the great philosopher Dilbert who said, “Pizza is the opiate of the bosses”?) “How’s it going?” he asked. I explained what I was doing, and he seemed very excited about the whole thing. “That’s great! Just think of all the money we’ll save on beer and pizza!”&lt;br /&gt;&lt;br /&gt;“Now that you mention it, there’s that little matter of the bonus you promised me,” I laughed. “Here, make yourself useful. You start on that end and I’ll start on this end. Just log in to each one, start up RandyTest in the main directory, and then go on to the next one.”&lt;br /&gt;&lt;br /&gt;Thrilled to be doing something “technical,” he complied. This time the speed of the dots didn’t degrade as much every time a new terminal was activated. But when we got to around 50, something weird happened—the “refrigerator’s” disk light suddenly started flashing furiously and all the dots slowed to a crawl! Apparently, I had overwhelmed the hard disk by having so many high-speed “virtual typists” save so many records so quickly. For these many years it has been my job to torture computers, but in this case, I needed a realistic load test that focused on the terminals.&lt;br /&gt;&lt;br /&gt;I went back and adjusted my routine to simulate a range of slower typists. The adjustment allowed me to get almost 70 terminals up and running before the disk began to thrash and the screens froze up. By then my boss had finished his pizza and gone home, after congratulating me on a job well done. Well done? Depends on how you look at it, I guess. I couldn’t see any way I could possibly back up our marketing claims without assuming that the average data entry clerk can’t type faster than a nine-year-old! I had to set the typing speed to about ten words a minute before 100 terminals could run at once, and even then the dots were barely moving. But hey, that’s what exaggerated marketing claims are all about, right?&lt;br /&gt;&lt;br /&gt;The art and science of load testing has evolved quite a bit since those days, but the basics are still the same. Can a system or network of a given capacity deliver adequate performance under real-world usage conditions? There is only one way to find out for sure, and that means putting the application “on stage” to see how it really performs. Fortunately, we’ve at least taken most of the legwork out of the process these days, with the sophisticated load testing tools that are available. And we don’t even have to haul 100 (or 10,000) terminals into the lab to do it. Only the best Broadway shows run night after night—no messy setup and teardown with each production. If you can do your load testing this way, you are way ahead of the curve.&lt;br /&gt;&lt;br /&gt;(This article was first published by &lt;a href="http://www.stickyminds.com/sitewide.asp?ObjectId=2527&amp;amp;Function=DETAILBROWSE&amp;amp;ObjectType=ART&amp;amp;sqry=%2AZ%28SM%29%2AJ%28MIXED%29%2AR%28relevance%29%2AK%28simplesite%29%2AF%28dinosaur%29%2A&amp;amp;sidx=0&amp;amp;sopp=10&amp;amp;sitewide.asp?sid=1&amp;amp;sqry=%2AZ%28SM%29%2AJ%28MIXED%29%2AR%28relevance%29%2AK%28simplesite%29%2AF%28dinosaur%29%2A&amp;amp;sidx=0&amp;amp;sopp=10"&gt;StickyMinds&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-6740681386992236073?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/6740681386992236073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/04/performance-testing-in-dinosaur-age.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6740681386992236073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/6740681386992236073'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/04/performance-testing-in-dinosaur-age.html' title='Performance Testing in the Dinosaur Age'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SfppAIfhz-I/AAAAAAAAAJA/pD-xvCgQaGI/s72-c/pdp_8.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4716142426853572952.post-7254575307011454864</id><published>2009-04-23T19:23:00.000-07:00</published><updated>2009-10-01T12:33:54.609-07:00</updated><title type='text'>Free Scalability Test - Find Your Limits!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__Ho4v83ZSkc/SjhVDVkiICI/AAAAAAAAARc/16oX7Zta0T8/s1600-h/CapCalLogoMed.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 218px; height: 122px;" src="http://2.bp.blogspot.com/__Ho4v83ZSkc/SjhVDVkiICI/AAAAAAAAARc/16oX7Zta0T8/s400/CapCalLogoMed.jpg" alt="" id="BLOGGER_PHOTO_ID_5348118073320808482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Are you about to roll out a new web site or application?  Making significant changes to an existing one?  Worried that something might go wrong?&lt;br /&gt;&lt;br /&gt;Or maybe you are deploying on EC2 with load balancing and autoscaling and need a fast and easy way to configure and fine tune according to the requirements of your application.&lt;br /&gt;&lt;br /&gt;Even if the answer to both of these is NO, do you ever wonder what your actual limits are in terms of users browsing your site, choosing products and so forth?  It's often not nearly as high as you imagine!&lt;br /&gt;&lt;br /&gt;Find out for sure with a free "crash test" from Capacity Calibration using EC2.  Just send an email to &lt;a href="mailto:info@capcal.com"&gt;info@capcal.com&lt;/a&gt; with a time slot from 8 AM to 6PM CST that works for you and we'll send you a GotoMeeting invitation.  In 30 minutes or less, we'll create the test, run it and analyze the results!  Or, if you prefer you can go it alone you're welcome to - just spin up a few instances of the CapCal Load agent and go for it!&lt;br /&gt;&lt;br /&gt;A number of people have already taken advantage of this offer and we'll be posting the results and their comments on the CapCal Blog.&lt;br /&gt;&lt;br /&gt;Please note - this is a special introductory offer that is only available to the readers of High Scalability so don't miss out.  Depending on the interest level we may decide to make a free community version available long term.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4716142426853572952-7254575307011454864?l=capcalblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://capcalblog.blogspot.com/feeds/7254575307011454864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://capcalblog.blogspot.com/2009/06/free-scalability-test-find-your-limits.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7254575307011454864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4716142426853572952/posts/default/7254575307011454864'/><link rel='alternate' type='text/html' href='http://capcalblog.blogspot.com/2009/06/free-scalability-test-find-your-limits.html' title='Free Scalability Test - Find Your Limits!'/><author><name>Randy Hayes</name><uri>http://www.blogger.com/profile/15037389633640089538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='18' src='http://4.bp.blogspot.com/__Ho4v83ZSkc/S8D67JXBUPI/AAAAAAAAAXk/F08NHqY7SYY/S220/CC_logo_white.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__Ho4v83ZSkc/SjhVDVkiICI/AAAAAAAAARc/16oX7Zta0T8/s72-c/CapCalLogoMed.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
