This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
I took my first look at "REDIFF.COM", and my suspicion is that the site load speed depends largely on the speed of the ad service being used, as it's unclear that there's anything other than ads on the site. Maybe a little paragraph of news or something, somewhere in there.
To seriously improve the performance of your web-application, the first step needs to be to analyze the current bottleneck.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Interesting enough Java is only a piece of the puzzle you are trying to solve. Various stages in getting a web page are 1. Resolve the DNS name for the URL 2. Get the static/dynamic page from the web-server 3. Get other content (style-sheets, images, etc) required for the web-page (This might require additional DNS lookups) 4. Render the page on the browser
Java/App Server tuning will play a part only in #2
DNS Resolution can be an issue for the first hit
You might want to separate our your static and Dynamic content into separate areas, and set a longer Expires header so the browser does not request it for subsequent hits
Keep the page simple (look at the Google page) so you don't have to make multiple trips to get all the images (Unfortunately most of the poorly designed web pages have lots of images, which slows them down).
Serve static content from a cache close to the end user like Akamai
The size of the web-page will determine how quickly the page downloads
The design of the web-page (number of tables, depth of table nesting) will determine how quickly the page will render after loading
Rather than start at javaperformancetuning.com I'd recommend starting at a tool like http://tools.itscales.com/cgi-bin/pma-dl (you can also use a proxy server and log times and time stamps to do the analysis)
You'll observe 1. The actual time to first byte (amount of time spent by App server) is very small (less than 0.3 seconds) not even 12% of the total time 2. The web page is quite large (29K) which results in longer time to get the complete page (and probably has an impact on rendering it too) 3. There are large number of images which take forever to load
<a href="http://www.auptyma.com" target="_blank" rel="nofollow">The Peak of Performance</a>
Joined: Nov 27, 2005
Now compare this with http://www.npithub.com Here you can see that the main page (PHP) needs some serious tuning
If you want to continue the analysis look at www.indiatimes.com with a response time of 20+ seconds