Monday, January 28, 2008

Performance issues

In general application has three kind of performance problems :

- throughput of application is low;
- the application is inclined to memory leak;
- the application is inclined to deadlock.

Before starting you have to define requirement for application. You have to define what is acceptable throughput and what working load is expected.

Throughput of application is detected by using jmeter. JMeter is used as a load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications. You should create test scenario for imitation loading of application and tunning environment like production. The result of test is set of measuring datum.

Inclining application to memory leak is detected by using jvm abilities or profiling tools(Yourkit). For reproducing memory leak you have to load application, but the load should be little bit more then defined in the requirement. The result is set of memory snapshots.

Inclining application to deadlock is detecting by using abilities your OS. You should load application,you can use jmeter for it ,and make thread snapshot throughout testing. The result is set of thread snapshots.

Tuesday, January 22, 2008

“Server crashed “

At first time you should know what happened with the process of server.

- if the process was died :

collect all logs what do you have

The possible reasons : crash jvm, somebody/something kills process.

- if the process is live , but the server&application don't answer :


You should try to made thread dumps and collect all logs what do you have

The possible reasons : memory leak or deadlock.