4. Strategies, Approaches, and Methodologies
1. Forces at Play
2. Top Down & Bottom Up
3. Choosing Right Platform & Evaluating a System
4. Choosing Right CPU Architecture
5. Evaluating System Performance
4
5. Strategies, Approaches, and Methodologies
I don’t know what i don’t know
I know what i don’t know
I already know what i need to know
5
7. Strategies, Approaches, and Methodologies
Forces At Play
Questions to Ask :-
● Expected throughput?
● Expected latency between stimulus and response to stimulus?
● Number of concurrent users to be supported?
● Expected throughput at peak concurrency?
● Maximum worst case delay?
● Frequency of Garbage collection Induced latencies that will be tolerated?
7
8. Strategies, Approaches, and Methodologies
SNo. Top Down Bottom Up
1. Code Change Possible Hardware change Possible
2. Monitor perf at load of interest (ex.
peak, continuous)
Migration to a different OS,Architecture
3. Monitor HIgher Level Statistics
a) Application performance
instrumentations
b) Java EE container
c) Operating system level
d) Java Virtual Machine (JVM)
Monitor Low Level Statistics (OS/JVM)
a) number of CPU instructions required to
execute a given workload on the CPU(path
length)
b) Cache misses when running under load
4. Tune Parameters:
Command Line
Garbage Collector
Operating System
Tune Parameters:
CPU scheduling algorithm
OS Context Switch Latency
8