Posted by: Brian | June 4, 2009

Rational Software Conference Voting – Go Green!

If you attended the Rational Software Conference 2009 you certainly heard about the reality TV software show where three teams competed to complete various software challenges relating to Enterprise Modernization, Business IT Transformation and Embedded Systems.   All good fun.   And then the Rational Tester had a thought:

 

Rational Tester Tweet

Rational Tester Tweet

 

And – as you can guess, someone dared me to “Vote Green”, Green being the color associated with the Enterprise Modernization team.  The other teams were given Blue and Orange.

Using Rational Performance Tester I started to vote.  I started by emulating  5 users, and was submitting about 50 votes per minute.  One of my Rational friends gave me access to the voting results site so I could monitor my progress.  Unfortunately, it seems I wasn’t the only one “performance testing” the voting system.  Team Orange already had 60,000 votes in the system.  Cheaters.

Realizing that it was going to take more than 50 votes per minute, I upped the anty.  I pushed up to 50 users, and was happily entering about 2,400 votes per minute.  More than enough to surpass the Orange team.  Unfortunately, as I did so, someone leaked my progress to the Orange team.  Their 60,000 started to increase.  Gack.   The race was on.

Now, one approach would have been to just up the volume to 5,000 users.  It would have been effective, but there were two other considerations.  First off, I was concerned the voting server would go down.  As well, I was running over the hotel internet connection, which was not exactly a T1 line.  So I inched up, adding 25 users at a time. Each of my additions was met by an increase on the evil Orange side.  Orange was taking the lead.

By 5 or 6pm, between Orange and Green we were entering anywhere from 5,000 to 7,000 votes per minute.  Alas though, I could not keep up.  Orange had “collaborated”, using external “friends” to run submissions from a remote site with far more bandwidth than my little laptop.  Using simple math, I was able to calculate our submission rates, and knew at that point Orange would get the Gold. 

In a last ditch attempt to either crash the server or crush Orange, as I left for our special event at Animal Kingdom, I turned the volume on RPT up to 5,000 users.  I knew this would produce at least one casualty: The Voting Server or the Hotel Internet.  Oh well – you only live once.  As it turns out, the Hotel IT team clipped my internet connection.  When I came home from the event, my vote submissions rate was 0 votes per minute.  I was just shy of 1,000,000 votes.

Over the wireless internet in the hotel, I was able to push Green over the 1M mark, while Orange was still running at maximum capacity. As I write, at 10am Orlando time, the vote is 3,640,479 for Orange, 1,040,419 for Green and 95,770 for Blue.  Blue apparently cheated as well – but they just weren’t very good at it. 

Still, I’m pretty darn impressed with Rational Performance Tester.  I’m only running a little laptop here, over a lousy internet connection, and was able to get 1,000,000 + votes.  My CPU never broke a sweat, happily churning around 30-50%.  My 5,000 users used about 1 GB of RAM – or about 200k per user.  That’s pretty damn scalable.  And I was running from a VMware virtual machine no less!

Hopefully there will be a vote next year…because the Rational Performance Tester dev team has some big iron in the shop.  We will not be defeated again.

Advertisements

Responses

  1. At least 1 of the Orange votes was entered manually! Orange … Dutch … 😉
    Great event.

  2. It is awesome to hear how well RPT performed and your results are impressive. Still I’m honestly relieved you lost the battle. RPT is too flexible and customisable and it would be worrisome if an experienced RPT’er couldn’t win against a more beginner.

    Next time let me know and we’ll do even better. Of course I’m a little on the Orange/dutch side with Marc so I’ll need incentive 😉

    You ran 5,000 users. But for a throughput test you might consider to run fewer users (20-50), disable think times, turn off logging, turn off statistics, put your iterations in the tests (not schedules) and disable secondary requests and you might hit a few million with the same time and bandwidth 🙂

    Nice post btw! Was entertaining to read.

    John

    • I’ll do a second post with some of the more technical details, but I did optimize the script in several ways:

      Set think times to 0
      Logging set to minimal level for 3 users
      Statistics off
      Script modified so that only one request, with no elements was being fired. This of course was completely unrealistic, but focussed traffic volume to the bare minimum required to enter a vote

      In the end, what killed me was the slow bandwidth in the hotel – and then later on, the fact that they cut off the bandwidth in my room. Had I been smart enough to even just have a single PC back in the office that I could have VNC’d into to run a test, it would have been a completely different story. Rest assured that if there’s any type of vote next year, RPT will be running – from the dev labs – on major hardware, and we will not be defeated again.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: