This document summarizes a presentation on performance testing. It discusses why performance testing is important, including predicting system behavior under load, verifying configurations, and discovering concurrency issues. Everyday use cases like marketing campaigns, events, and performance tuning are provided. Benefits for customers, businesses, and maintainers are outlined. The presentation then covers how performance testing is done, including using tools to record and run tests and analyze results, as well as following a methodology to identify weak spots in infrastructure, applications, and more. Finally, an example workshop walkthrough shows how to plan and conduct a performance test on a university assignment system.
12. Benefits
For customers
• Improved user experience (latency, availability)
For business owners
• Planning (expansion, campaigns)
• Keeping SLAs
• Managing suppliers
13. Benefits
For customers
• Improved user experience (latency, availability)
For business owners
• Planning (expansion, campaigns)
• Keeping SLAs
• Managing suppliers
For maintainers
• Knowing of system limits
• Calm nights and weekends
14. Predict System Behaviour Under Load
Verify Configuration Settings
Discover Concurrency Issues
Everyday Use Cases
Benefits
Q&A
Summary “Why”
20. Performance test - verify criteria
Stress test - discover system limits
Soak test - resource management
Failover test - verify configurations
Volume test - test for future
Finding Weak Spots
21. Cooperation!
Tests result (data) → Test report (information)
Need to understand the tested system
Log analysis
Monitoring
Pinpointing Weak Spots
24. Story - The Smart University
Assignments for students
● questions published at 8pm
● submit answers in 24 hours
25. Assignment Details
500 students bit.ly/workshop-demo Contact Mr. John Doe
Design and execute performance tests that will verify
University’s readiness.
26. Identify Test Environment
Tested system
• URL bit.ly/workshop-demo
• Architecture - Single server, Linux based, Apache Tomcat,
MySQL, proprietary CMS built on Java platform
Tool
• SmartMeter.io (www.smartmeter.io)
Test environment
• Your laptop, Wi-Fi connectivity
27. Identify Acceptance Criteria
Assignment download
• Throughput - 200 downloads in one minute
• Response time - 90% percentile under 5 secs
Assignment submit
• Throughput - 100 submits in one minute
• Response time - 90% percentile under 3 secs
28. Plan and Design Tests
Identify key scenarios
• homepage → assignment page → download assignment
• homepage → submit page → submit assignment
Determine variability
• students names
• CSRF token in submit form
Test data
• students names (CSV)
29. Configure Test Environment
Prepare test environment
Get familiar with resource monitoring (CPU, RAM, ..)
Install SmartMeter.io tool (requires 64-bit OS)
Make sure you can reach the tested system
30. Implement and Verify Tests
Record test scenarios
Gather test data
Modify test scenarios (variability)
Run smoke tests
Set up load profiles
Be sure you are ready to go!
31. Execute Tests
Be vigilant!
Monitor system resources
Communicate in real time with system owners
Execute various test types (stress, soak, ..)
32. Analyze, Report, and Retest
Gather necessary data (test results, logs, monitoring data, ..)
Make notes
Transform data into meaningful report
Retest
35. Get Ready for Workshop
● After break ..
○ Step by step solution
○ Best practices
○ Hands on tool and
methodology
● Get your laptops ready!
36. Thank you for
your attention!
Share your feedback
bit.ly/performance-tutorial
Jan Verner
Product Developer
Performance tester
jan.verner@smartmeter.io
@SmartMeterIO
#SmartMeterIO