| Test Name (what you want to test) | Test Benefit | Test Type | Parameters related to the scalability index |
| Service Interface | Decrease time for service request responses to lower network bandwidth and server hardware costs. | Stateless | Message size and concurrent requests levels |
| XML Parsing | Decrease time for routing service messages to lower network bandwidth and server hardware costs. | Stateless | Schema complexity (depth and element count), document size, concurrent requests level |
| Data Persistence | Decrease time for storing and retrieving messages to lower network bandwidth, server hardware, and disk costs. | Stateful | Schema complexity (depth and element count), document size, concurrent requests level |
| Data Transformation | Decrease time for transforming a message into a given XML schema to lower network bandwidth and server hardware costs. | Stateless | Source and destination schema complexity (depth and element count), request and output document size, concurrent requests level |
| Data Aggregation and Federation | Decrease time for responding to service requests requiring up-stream data to reduce network bandwidth and server hardware costs. | Stateful | Schema complexity (depth and element count) for up-stream services, data persistence quantities, message time-to-live (TTL) values. |
| Data Mitigation | Reduce time when a service is unavailable at peak usage to improve service availability and user satisfaction. | Stateful | Schema complexity (depth and element count) for each request, document size, concurrent requests levels |
| Phase | Goal | Checkpoint |
| Planning | Answer the question: How will this test benefit my organization? | Write Test Plan document. |
| Definition | Identify use cases, test cases and scenario, and test environment (hardware, software, network) | Add the use cases, test cases and test scenario to the Test Plan. Achieve management sign-off. |
| Calibration Test | Calibrate the test cases to the test environment. | Identify the use cases driving the test environment to its maximum throughput (as measured in TPS from the client). |
| Optimize | Modify the service and/or test environment to optimize for best performance based on what you learned in the Calibration Test. | Amend the test plan to add the optimization changes. |
| Full Test | Run the test scenario. | Successful run of test scenario. |
| Results Analysis | Identify test result metrics and trends against test scenario goals. | Present results and achieve adoption by management. |
| Content | Description |
| Source code | Complete source code for each use case and test scenario including Ant build scripts to build the kit in your own environment. |
| Developers Journal | A Developer's Journal describing in detail:
|
| Prebuilt JARs (ready for you to press a Start button and watch the results) | Pre-built JAR and WAR files for immediate use in your environment. |
| TestMaker and TestScenario Scripts | Scripts to stage a scalability and performance test of each use case, and the test scenario. |
| Use Case | Technology Choice | Request Payload Size | Concurrent Requests | |||
| Java XML Binding Compiler | XQuery Engine | 5,000 bytes | 5 | |||
| Java Streaming XML Parser | X | Java Application Server |
X | 100,000 bytes | X | 50 |
| Java DOM | 500,000 bytes | 100 | ||||
| XQuery Streaming XML Parser | 200 |
| Payload Size (Bytes) | Concurrent Agents | Transactions Per Second (TPS) |
| 1000 | 10 | 10.376 |
| 2000 | 10 | 8.667 |
| 3000 | 10 | 6.174 |
| 4000 | 10 | 1.383 |
| 5000 | 10 | 0.731 |
| Parameter | Description |
| Request Payload Size | Service request message-body size (in bytes) |
| Response Payload Size | Service response message-body size (in bytes) |
| Concurrent Requests | Total number of concurrent requests |
| Transactions Per Second (TPS) | Ratio of total completed responses to execution time (in seconds) |
| Network Utilization | % network bandwidth (measured from server) |
| Server CPU Utilization | % server processor bandwidth |
| Consumer CPU Utilization | % consumer/client processor bandwidth |
| Average Transaction Time | Average service response time (measured by consumer/client) |
| Minimum Transaction Time | Minimum service response time (measured by consumer/client) |
| Maximum Transaction Time | Maximum service response time (measured by consumer/client) |
| Payload Size (bytes) | Concurrent Requests | Transactions Per Second - TPS | Network Utilization | Server CPU Utilization | Consumer CPU Utilization |
| 1000 | 10 | 10.376 | 1.24% | 55% | 34% |
| 2000 | 10 | 8.667 | 1.14% | 78% | 37% |
| 3000 | 10 | 6.174 | 1.32% | 89% | 31% |
| 4000 | 10 | 1.383 | 0.45% | 95% | 21% |
| 5000 | 10 | 0.731 | 0.28% | 96% | 18% |
| Concurrent Requests | Transactions Per Second (TPS) | Completed Transactions | Average Response Time (milliseconds) |
| 25 | 0.38 | 68 | 65,344 |
| 15 | 0.33 | 61 | 33,828 |
| 10 | 0.31 | 59 | 12,234 |
| Test Experience | Likely Problem | What To Do Next |
| Increase CRs with a decrease in TPS | Check average response time. | Run a test case comparing response times as CRs increase. Identify the least acceptable response time and work back from there. |
| Increase CRs with an increase in TPS | Test is not calibrated for high enough CRs and payload sizes. | Run calibration test to determine optimal Scalability Index and set correct CRs and payload-size levels. |
| Increase CRs with little change in TPS | CRs levels are set too high. Check CPU utilization if doing stateless test. | Run another test with the CRs level reduced by 50%. |
| Server CPU at 95% utilization and increasing CRs levels increases TPS | This is probably a stateful system test. | Run a test case to determine the service-under-test Scalability Index. |
| Consumer CPU at 95% utilization and increasing CRs levels decreases TPS | CRs levels are too high for the number of load generating consumers. | Add more load generating consumers. |
| Consumer CPU utilization at 15%, Server CPU utilization at 30%, and increasing CRs levels barely changes TPS | Network is probably saturated. | Check network bandwidth utilization. Add network adaptors to server or consider a faster network. |
|