| By Anatoly Krivitsky | Article Rating: |
|
| May 5, 2005 04:00 PM EDT | Reads: |
21,323 |
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 PCsRemote 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.
- Apache and Tomcat 5 on a Linux box.
- ONE and JRun on a Solaris box.
- IIS and ASP.NET on an XP box.
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.
Published May 5, 2005 Reads 21,323
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By 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.
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Journal Opens "Readers' Choice Awards" Nominations
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Industry Experts Discuss the State of Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- An Introduction to Abbot
- Java Kicks Ruby on Rails in the Butt
- Interviewing Java Developers With Tears in My Eyes
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- How to Diagnose Java Resource Starvation
- REA Is Where RIA Becomes the Norm
- Kindle 2 vs Nook
- Anatomy of a Java Finalizer
- Why IBM’s Server Chief Got Busted
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?






























