2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Remote Benchmarking with Servlets and JSF
Wringing Out Performance

Powerful computers these days (including servers) are cheap compared to the "good old days." In fact, they're even cheap compared to what they cost a couple of years ago. Vendors are selling PCs whose CPUs clock above 3GHz for under $1,400. Their memory and HDD capacity are also impressive. We're basically looking at hardware that can potentially offer the performance of a mainframe for a fraction of a mainframe's price. The operative word is potentially.

A gating factor is the set of software- and hardware-related components that sits between a CPU's clock speed and the end user of the application. Consider the case of an application running on a server that provides results to an end user with Web pages. Here the set might be: the server (or servers), the server's operating system, the application's language, the application's compiler, the tools that provide the variable content of Web pages (say, ASP.NET, Perl, servlets/JSP, etc.), the Web server, and the Internet provider's additional soft and hardware. Mainframe-style performance on modern PCs and servers with powerful CPUs can be achieved only if the set allows it.

This article will introduce a simple new and powerful technology that will let you remotely choose the Web hosting provider that's right for you. It will also show you how to use Whetstone for double type data (or DWhestone) benchmarking together with JSF and servlets using the popular Tomcat 5 servlet container. Though there are a number of cool tools to measure performance (like JMeter from Apache for Java-related performance) the technology described here can be used with minimal changes across different languages and operating systems, giving you a unique opportunity to measure different software and hardware combinations fairly and competitively.

Performance

Performance is either the factor or one of the factors that has to be taken into account when you choose all or some elements of the hardware/software set. It's not enough just to measure the performance of parts of the set. Say we measure only the Web server's performance. The results can be brilliant. The web server may be very good, but the other parts of the schema can be the bottleneck that prevents you from getting satisfactory results. We obviously will need to measure the performance of the whole set to get results from the point-of-view of the application.

What Are Benchmarks?

Benchmarks are useful tools that let you evaluate performance from the point-of-view of the end user. Benchmarks help you pick the optimal hardware and software. Benchmarks used to make a final decision should be the same for each language/compiler/tools for Web applications and Web servers. Obviously you need to run benchmarks with your own software/hardware combination rather than rely on third-party results.

Where to Find Information on Benchmarks?

A good place to start is www.netlib.org/benchmark/. This site also has references. It's useful to do some research using search engines like www.yahoo.com and the keyword "benchmark."

Whetstone

Whetstone is one of the oldest (and therefore carefully debugged and tested) and most popular benchmarks. It is relatively simple and reliable. The specific form of this benchmark that we're talking about here was described in my book The New Technology of Making Scientific and Technical Documentation by IBM PCs.

Remote Benchmarking

Remote benchmarking will help you to fill in gaps between measuring a server's clock speed (which is usually provided by either the manufacturer or by the host provider) and the tools intended to measure the performance of your application (which is the next level of performance analysis).

Even before you start to measure the performance of your Web application using, say, JMeter, you need to pick the servers, server operating system, application language, application compiler and tools providing the variable content of the Web pages/Web server that fit your performance requirements.

You may need to resolve the following practical question: Suppose competing providers offered you the same rate and hosting on servers with the same clock speeds. You'll need to select one of the following software combinations.

  1. Apache and Tomcat 5 on a Linux box.
  2. ONE and JRun on a Solaris box.
  3. IIS and ASP.NET on an XP box.
How do you make the right choice? Well, remote benchmarking helps you answer this question. Some source code and further explanations on remote benchmarking can be found at my site www.mycgiserver.com/~akrivitsky/Benchmarks.htm. E-mail me at: akrivitsky@yahoo.com if you want the source code for this example or the source code of remote benchmarks using ASP.NET.

Web Applications Best Practice

To improve the quality of software it's useful to employ best practices - which, with Web application architecture, is MVC (model, view, controller). There are a number of MVC-based frameworks. These days, however, JSF from Sun Microsystems is gaining momentum and is supported by Apache, Oracle, IBM, Borland, and other prominent Java vendors. JSF is free.

Location, Location, Location...

Suppose you're going to develop a Web application on your Linux or Windows XP Pro boxes and install it on your provider's server. Here is what you need to do starting from the scratch.

First you need to download J2EE from Sun at http://java.sun.com/j2ee/1.4/download.html and install it.

In theory you can work with JSF at this point. See Sun's J2EE tutorial on how to do it. However, it's useful to use JSF with Tomcat. You may want to download the latest version of Tomcat from Apache and use the technique described below.

About Anatoly Krivitsky
Anatoly Krivitsky has a PhD in computer science and has more than 24 years of working experience in the IT field. He's the author of 20 published papers and books and five patents. For more information, please visit http://www.myjavaserver.com/~akrivitsky/index.html.

LATEST JAVA STORIES & POSTS
Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is p...
Continuent has announced support and enhancements to MySQL Server 5.1.30 GA release, the 5.1 production version of the open source database. MySQL 5.1.30 is recommended for use on production systems by the MySQL build team at Sun Microsystems. Continuent Tungsten provides advance...
As a software journalist, there are times when certain vendors will shut the door on reporting opportunities that might represent too much of an "inside view" of their technology or their organization. I've been to more developer events than I can remember where I've been handed ...
Active Endpoints has announced the general availability of ActiveVOS 6.0.2, in response to ever increasing demands for improved process performance and efficiencies. ActiveVOS is an all-in-one, 100% standards-based orchestration and business process management system (BPM) that p...
Just because the web has been open so far doesn't mean that it will stay that way. Flash and Silverlight, arguably the two market-leading technology toolkits for rich media applications are not open. Make no mistake - Microsoft and Adobe aim to have their proprietary plug-ins, ak...
Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it’s still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the en...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

SPONSORED BY INFRAGISTICS
In every field of design one of the first things students do is learn from the work of others. They ...
There are many forces that influence technological evolution. After a decade of building enterprise ...
2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
ADS BY GOOGLE