A picture is worth a thousand words π

Fun fact from a chain e-mail sent by one of my friends..
February 2010 has exactly
And this happens once in 11 years!! π
One of our customers at work, the Hoxton Hotels, runs a promo every quarter during which they sell a room for ΓΒ£1 a night.. Imagine the load on our infrastructure :). Over the last two years, were able to partner with the customer and make the promos a “non-event”. We usually sell out the rooms in less than 10 minutes.. The customers gets great visibility and we get a free load test :).
TravelClick HOTEL CONVERSATIONS | The Hoxton from AboutFace Media on Vimeo.
Not the building :).. In fact, it just opened up officially today. But it looks like the IT team of the Burj did not anticipate the traffic spike to it’e website http://www.burjdubai.com/, when the building opens. The site has been down since early CST.
All the free publicity the site is getting from the media is wasted because the site is down (OK.. I am exagerrating things a bit π ). ΓΒ If only the IT team at the Burj thought about this and deployed the site on a CDN, they could have averted this downtime. Using a CDN to power your site is becoming more of a norm than a luxury now a days. And with all the options in the market you have for a CDN, there is no excuse for any IT team to not implement this for a customer facing website.
Wishing everyone a Happy New Year π and hooping this new year will bring you joy, luck and health. Isn’t it amazing how quickly the first decade of the 21st century passed away. I usually don’t make new year resolutions, but last year for some reason, I decided to. Here’s a recap of them
How did I do with this? Not as well as I wanted to. Here’s a chart showing the postings per month
I started well in January, but then as with most new year resolutions it didn’t last for more than a month :). But I started picking up again at the end of the year. Hope I can continue the trend.
Don’t laugh :).. seriously this was something I have been wanting to do for a long time and I thought this was the year. But alas little did I know that I had to work so many weekends :). I barely managed to run 3 half marathons and that too in only two neighboring states. Won’t make any promises..but hope to do better next year. I should mention that I did register for 3 races in different states for the first three months of 2009.. Just didn’t make it to the races π
Even though I didn’t stick with my resolutions, 2009 was an interesting year. Accomplished a lot at work, but more importantly gained a life partner :).
Morale of the story.. Don’t make resolutions. Just do it!! :).
We run multiple applications in Jboss at my work and one of the applications used to take an inordinate time to come up. A typical application would take < 1 minute to get deployed and this particular application for some reason was taking ~7-8 minutes. We initially thought it was a bug in the code and gave hell to our development team :).. But on closer investigation, we found out that a feature we enabled in the Jboss server settings which allows content to be hosted on network storage was causing the issue.
I blogged the feature in Jboss to follow sym links here (https://kudithipudi.org/2008/07/25/howto-configure-jboss-to-follow-symbolic-links/). So essentially when Jboss was started, it was checking all the content in these network path to check for applications to deploy. And traversing a network share with 1000s of directories isn’t fun :)..
We fixed it by making a simple edit to the start up script. Here’s the psuedo code for the script
And now the application starts in less than a minute :).
I guess there might be other elegant ways to do this. i.e. Configure Jboss to only deploy certain applications, but this did the trick for us :).
Jhanvi asked me to help with editing a text file recently. She had a file in the format
'512'
'345'
'876'
and needed to convert it into the format below
INSERT INTO BLAH VALUE ('512');
INSERT INTO BLAH VALUE ('345');
INSERT INTO BLAH VALUE ('876');
There are multiple ways, one can do this. Here is how I did this using Notepad++, an open source text editor. I used the regular expression capability of Notepad++ it’s search and replace function.
The data in it’s original format

Replacing the first quote mark

Data after the first search and replace operation

Replacing the second quote mark

Data in the final format

We ran into an issue at work recently, which prompted us to do some performance testing on some of our Linux servers. The requirement was to stress test the key components of the server (CPU, RAM, HDD, Network) and prove that different servers with the same configuration were capable of performing identically. Pretty simple right :).. The challenge was to find tools that could be run to stress test each of the components. There were a lot of tools for CPU and memory (RAM) testing, but not a lot for network and hard drive (HDD) testing. After searching high and low, we found a couple of tools, that I wanted to document here for future reference.
I found a pretty interesting tool called Iozone written by William Norcott (Oracle) and Don Capps. You can get the source code and builds for major OSs at http://iozone.org . Despite installing the program using RPM, we were not able toΓΒ run the program without specifying the complete path.
There are a ton of options for the program, but the easiest method to run it was in automated mode with the output going to an Excel spreadsheet (more like a glorified CSV file π ). Here is the command we used
/opt/iozone/bin/iozone -a -Rb output_excel_file.xls
The “-a” is to tell the program in automated mode and the “-Rb” is to tell the program to format the output in Excel format. And you can then go ahead and open the spreadsheet in Excel and create 3D graphs to check and compare the output.
Most of the information out there in terms of testing the network stack of a machine is either to copy large files over a network share or via FTP. We didn’t find that was enough to really max out a Gigport since there were protocol limitations that didn’t allow us to saturate the network port. After some searching, we stumbled across a tool called “ettcp” on Sourceforge. ettcp itself is an offshoot of ttcp. ttcp (stands for test tcp) was created to test network performance between two nodes. I couldn’t find any place to download ttcp itself, but you can download ettcp at http://ettcp.sourceforge.net/.
We used a server, to act as a common receiver for all the servers we intended to do a performance test on. Here are the commands we used to run the test
RECEIVER (Common Server)
./ettcp -r -s -f M
The options are
TRANSMITTER (Test Servers)
./ettcp -t -s receiver_hostname -n 10000000 -f M
the options are
As you check the list of charities and gifts you need to contribute to for this holiday season, please put Wikipedia on your list :). I did my part by supporting the annual Wikipedia fund raising effort. It is not easy and cheap to be running one of the most popular (6th most popular as per Alexa’s latest figures) sites on the Internet.
Donate.. Share..Enlighten π
Here is the link to the donations page http://wikimediafoundation.org/wiki/Support_Wikipedia/en