Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Do's and Don'ts of Deriving Good Performance
Guard the performance at the very early stage

Deriving good performance is about more than careful design. It may be surprising, but the art of application performance starts when there is not even a single line of code. It all starts with the requirements and the goal of the system.

Below is a short summary of key points for deriving a good design and mitigating performance bottlenecks risks.

1. Ask performance related questions very early. When I meet business people they know what they want, at least from the functional point of view. However, when I ask them about the forecasted number of transactions per second or number of user operations (or any other performance related quality of the system) I rarely hear a reasonable response. It's either unknown or totally trumps up. This is due to the fact, that in many project approaches (waterfall, iterative, etc.) technical people focus on familiar artifacts and business people are left alone. Hardly anyone tries to help them gather cohesive performance requirements. Although it requires effort (as to assume the distribution and characteristics of transactions) there are many techniques that can facilitate the process: 'similar to' approach (select similar system and try to estimate using known number of transactions), 'key business drivers' approach (take the drivers, such as number of customers served, take transaction data from outer source, which can be an alternative, existing channel or business unit operating in similar business environment) and then make the estimation. The point is to emphasize performance issues at the conception phase of the project and to have the aim clearly stated.

2. Crude performance tests are better then no tests at all. Believe it or not, many projects are launched without any performance tests. This is often the case when the new system is designed and no reference points are available. On the other hand, sometimes I face the situation that the system is mature but still there are no tests during major upgrades. It leads to very unpleasant surprises a second after putting the system on the production environment. Thus, don't ever go on production without tests. Under budget and having a comfortable schedule? Try sophisticated and professional tools and services such as Wily, for instance. If that's not the case, use open source tools (there are a variety of possibilities and options here) or hands and heads of Your teammates. As a very last resort just gather performance data and have a serious look at it. Search for the most frequent and the most time consuming operations.

3. Use the force of 20/80 rule. Focus only on important things, such as testing and analyzing application or modules rather then individual classes/components. I recommend using the top down approach to find elements that will give your solution the greatest performance boost. Thus, when assessing performance I'd rather focus on tiers, database connectivity, systems interoperability and interactions as these are mostly the candidates for bottlenecks. Despite the fact that there are some rare situations where the computationally expensive algorithm is the cause of the problems most of cases does require little or no code review and modification.

4. Don't be blind. Provide (buy, reuse or develop) tools that will measure and gather performance related data. Contemporary systems usually span multiple tiers and integrate with many external applications. So You need a probe that can be put into all building blocks of the solution, including the web tier , business tier, integration, database, network and operating system. You should gather data on threads, workers, open connections, errors and warnings, exceptions, latency, trip time, response time, storage, network interfaces, processes, specific system's settings, memory, garbage collection and many others. Gather it, analyze, review and review again. Only then could you see how your application performs. Imagine that I've seen a major system launch which was a disaster due to the specific security settings of the host machines kernel's setting (selinux). Of course, it's generally highly advisable to have a security enhanced operating system. Finally, it's up to you whether to have a professional all in one measuring appliance or just a set of shell commands and systems' logs - the pith of the matter is to have any.

5. Appreciate people, tackle problems. Finding bottlenecks involves cooperation with people, that know the system and connected elements best. These people are often under stress as they are blamed for the problems. Therefore they focus on gathering evidence to protect themselves instead of using their potential to solve the problem. This is the place where you should act as a good therapist - relieve the stress and fear to build motivation and increase commitment. They need to believe that you don't pose a threat to them. Then it's more likely to quickly find the bottleneck as a team.

To sum up, performance related issues are not bound to the code only. They span multiple areas, and what's most important, they involve people. Following the aforementioned guidelines can bring noticeable effects with respect to the performance of the applications you deliver.

Having further questions? Want to comment? Feel free comment and to contact me at grulka@maciejgrula.com.

For PDF version of this article visit my homepage.

About Maciej kiciak

Being the chief architect for the ecommerce area at the greatest polish telecom portals; www.orange.pl and www.tp.pl; along with the experience of 5+ years in telecom industry I bring ideas and design into online solutions.

Main area of expertise covers j2ee technology and platforms, middleware solutions as well as the ATG portal suite. I contribute as a specialist for the France Telecom & Orange worldwide web and self care department. I took part in a few major international group initiatives each time delivering high quality of analysis and design. Since last year I've been trying my skills in a public appearence by delivering a speech and tutorials in the ecommerce and ATG areas.

I have received the M.Sc. from Warsaw University of Technology int the Electronics and Information Technology faculty.

In private I'm a happy and proud husband and a father of two children.



SOA World Latest Stories
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make the fi...
A Munich court Thursday found Motorola Mobility guilty of infringing an Apple patent and handed Apple a permanent injunction against two Android smartphones. Apple can enforce the injunction after posting a bond lest MMI succeed in invalidating the slide-to-unlock patent (EP1964022) ...
Quick Response (QR) codes are intended to help direct users quickly and easily to information about products and services, but they are also starting to be used for social engineering exploits. This article looks at the emergence of QR scan scams and the rising concern for users today....
The Chinese company that claims it owns the iPad trademark says it plans to seek a ban on iPad exports out of China, threatening global supplies. According to what a lawyer for Proview Technology (Shenzhen) Co Ltd told Reuters, the firm is petitioning Chinese customs to stop shipment...
Cisco Wednesday filed suit in the European Union’s second-highest court, the General Court in Luxembourg, challenging the European Commission’s rubber stamp last October of Microsoft’s $8.5 billion acquisition of Skype. Cisco says it isn’t opposed to the merger, but figures the EC sh...
2011 was a year of rapid adoption for public and private cloud services. Instant and on-demand server provisioning was the driving force behind the massive growth. On top, cloud server templates and script automation simplified application installation for simple and pre-defined applic...
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
ADS BY GOOGLE