PerfCake A Lightweight Performance Testing Framework www.perfcake.org Software Quality - Performance April 2015 Martin Večeřa Pavel Macík www.perfcake.org Performance Testing LOAD - STRESS - SOAK SCALABILITY BENCHMARK www.perfcake.org PerfCake Features Modern tool Flexible Lightweight ~ Minimal footprint Reliable/Stable High Performance www.perfcake.org PerfCake Architecture www.perfcake.org Agenda Get Started! Demo REST based application performance Results evaluation www.perfcake.org Test Scenario - Throughput scenario "rest-throughput-with-message" run 3.m with ${thread.count:125}.threads generator "DefaultMessageGenerator" sender "HttpSender" target "http://localhost:8080" method "${http.method:POST}" reporter "WarmUpReporter" reporter "ThroughputStatsReporter" minimumEnabled "false" maximumEnabled "false" destination "ChartDestination" every 1.s name "Throughput" group "throughput" outputDir "restthroughput-with-message-charts" yAxis "Throughput [iterations/s]" attributes "Result,Average" destination "ConsoleDestination" every 5.s message file:"message.txt" validate "msgValidator" validation enabled validator "RegExpValidator" id "msgValidator" pattern "Consumed.*" end www.perfcake.org Test Scenario - Memory scenario "rest-memory-with-message" run 5.m with ${thread.count:125}.threads generator "DefaultMessageGenerator" sender "HttpSender" target "http://localhost:8080" method "${http.method:POST}" reporter "MemoryUsageReporter" memoryLeakDetectionEnabled "true" usedMemoryTimeWindowSize 240 destination "ChartDestination" every 1.s name "Memory Usage" group "memory" outputDir "restmemory-with-message-charts" yAxis "Memory Usage [MiB]" attributes "Used,Total" destination "ConsoleDestination" every 5.s message file:"message.txt" validate "msgValidator" validation enabled validator "RegExpValidator" id "msgValidator" pattern "Consumed.*" end www.perfcake.org Links www.perfcake.org github.com/PerfCake/PerfCake/issues site.perfcake.org javadoc.perfcake.org perfcake.ci.cloudbees.com twitter.com/perfcaketool perfcake.blogspot.com goo.gl/Vx9t56 www.perfcake.org ?