Monday, January 28, 2008
Performance issues
- 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 “
- 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.
Wednesday, August 22, 2007
Removal performances’ problems
1 Detect problems
You have to analyze complaints customer and you have to try to reproduce problem. At first you have to take more information from admin this site. Because they could have monitor checklist, it can help you.
2 Found reasons
Then you have to detect bottleneck place for that you may use next tools:
- thread_monitor.jsp (measure)
- yourkit (measure)
- benchmark (measure)
- jmeter or wget
Note: You’ve never forgotten about logs
Suppose you detected what site rendered slow.
You have to do CPU snapshot. Snapshot allow to you detected reason. When you’ll analyze the CPU snapshot you have to devote one's attention to slow method. Yourkit allow do it, use it capability allow to do easy. I recommend you use “Method list” for analyze CPU statistics. You have to devote one’s attention to total time invoke method. Yourkit allowed you review “who invoke it“(Method back trace) and “what it invoke” (Method merged callees).
Also you can use thread monitor.
Jmeter allow you put datum about throughput.
Suppose your site have memory leak.
You have to do memory snapshot. When you’ll analyze the memory snapshot you have to devote one's attention to objects have more size. At first you have to calculate retained size objects, which help to detect large object. You have to devote one’s attention to session’ object and object answer for cache, because it is often reason’s problem.
3 Removal reasons
You have to act according to character problem.:)