performance test
Edit이론
- Little’s law by John D. C. Little in 1961
- Number of concurrent user = TPS * avg. response time
- Concurrency = TPS * Avg. Response time or Concurrency = TPS * Max. Response time
- 수용가능한 동시 사용자 = 가상사용자 * Think Time / 평균응답속도T
- Tomcat MaxThreads = Concurrency * (100% + buffer %)
- Performance anxiety by Joshua
Bloch
- abstraction gap 때문에 성능은 직접 측정해야 알 수 있다
- In java, run VM 30 times to get meaningful data.
- http://dl.acm.org/citation.cfm?id=1297033
- 통계적으로 접근해라.
- 벤크마크는 잘 못하기가 쉽다.
성능로깅
- http://metrics.codahale.com
- https://code.google.com/p/javasimon
- https://code.google.com/p/parfait
- https://code.google.com/p/stajistics
- https://github.com/Netflix/Hystrix
도구
http://labs.carrotsearch.com/junit-benchmarks-tutorial.html
- Junit 기반. H2DB로 결과 저장. 그래프 그려줌.
Apache benchmark : http://httpd.apache.org/docs/2.2/programs/ab.html
Jmeter
Grinder
http://code.google.com/p/grinderstone/ (grinder를 Eclipse 내 에서)
http://sourceforge.net/projects/webflange/ (continuous testing),