QA/Weave Load Test Plan
Weave 1.3 Load Test Plan
Objective
The objective of Weave 1.3 load test is to ensure that the production configuration of the weave data services can support various levels of sustained simulated and real user weave client activity over a period of time. During the load generation tests, monitoring of key performance metrics on the both client and server will be recorded to ensure generated load levels are accurate and the system response to servicing the requests under high load conditions are within acceptable ranges.
Scope
- What is being tested
- The Weave 1.3 load testing plan will target
- the weave data synchronization service
- Account creation and registration services
- Weave client behavior and characteristics under high server load conditions
- What is not being tested
- Due to logistics and tool limitations, The synthetic load generation clients will not use secure socket layer (SSL) communication protocol to communicate to the server. The risk exposure is contained to a degree as SSL communication is handled by the Zeus web front end server.
Performance Goals
- To Be Determined
- Questions to be answered:
- What is the number of concurrent (synthetic) users supported by the server?
- What is the number of concurrent (synthetic) users need to generate sustained server load to max out mem cache?
- What are the performance metrics to be measured to determine server load?
- What is the duration of a load test?
Load Test Approach
For Weave 1.3 there are limited means available for generating realistic loads of user and client requests. Michael Hanson has written the weave load test tool based on the http protocol library libcurl. The weave load test tool will be the primary means of generating user account creation and weave sync traffic.
In addition, during periods of peak synthetic load generation we will use live weave users performing various weave synchronization test scenarios. The live testers will be reporting weave performance assessments during the load test. The performance report will be based on weave client logs and subjective performance assessment.
- Load Tests to perform
Load Test | Description |
User Account creation and registration | Use the weave load tool to create users |
Weave synthetic load generation | Use the weave load tool to perform a mix of weave synchronization scenarios with goal of generating load to maximum server load levels. |
Weave synthetic load generation and live user interaction | Use the weave load tool to perform a mix of weave synchronization scenarios with goal of generating load to maximum server load levels. After server reaches maximum load levels, use geographic dispersed live user to perform weave synchronization tests and report transaction response times. |
- Questions
- What are the steps required to run the load generating tests?
- On what systems will the tests be performed?
- What and how is performance data gathered and reported from the load generating clients?
- What are the weave scenarios tests the live users to perform?
- How will the live users report performance data?
Requirements
- Hardware
- Production System
- Need Production system details and diagram
- Staging System
- Need Staging system details and diagram
- Load Generation
- What is the load generation machine platform and OS? Can the be VM machines (Vmware, Amazon EC2
- What tools, software is required to be loaded on the load generation machines?
- How many load machines are needed?
- Production System
- Software
- Load Generation
- Weave load test tool
- Need load generation tool details and operation instructions
- Load test controller
- What are the requirements for the load test controller?
- Weave load test tool
- Performance Metric measurement
- Need to determine what metrics are to be recorded for both client and server
- Load Generation
Schedule
- To Be Determined