AngusTester Single-Machine Throughput Test: 600,000+ Requests Per Second
Test Objectives
- Validate AngusTester's performance in HTTP protocol benchmarking (minimum latency <1ms).
- Demonstrate standard workflow for GUI-based testing in AngusTester. For CLI testing procedures and results, see:
AngusTester vs JMeter HTTP Benchmark Comparison
1. Test Environment
For measurement accuracy, Nginx serves as the HTTP server with separate deployment of test machine and server.
1. Node Configuration
Node | OS | Specifications | IP | Application |
---|---|---|---|---|
Test Node | CentOS 7.6 64-bit | 32 vCPUs @ 3.1 GHz (Intel® Xeon® Platinum), 64GiB RAM | 172.26.167.78 | AngusTester |
Service Node | CentOS 7.6 64-bit | 32 vCPUs @ 3.1 GHz (Intel® Xeon® Platinum), 64GiB RAM | 172.26.167.79 | Nginx |
2. Software Configuration
- Test Service: nginx-1.21.3
- Testing Tool: AngusTester-1.0.0
3. Nginx Configuration
worker_processes 24;
worker_rlimit_nofile 200000;
events {
worker_connections 4096;
use epoll;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
access_log off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
keepalive_requests 100000;
reset_timedout_connection on;
server {
listen 80;
server_name localhost;
open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
location / {
root html;
index index.html index.htm;
}
}
}
4. Test Endpoint
curl -i http://172.26.167.79:80
HTTP/1.1 200 OK
Server: nginx/1.21.3
Date: Mon, 29 Jan 2024 01:31:46 GMT
Content-Type: text/html
Content-Length: 75
Last-Modified: Mon, 29 Jan 2024 01:29:49 GMT
Connection: keep-alive
ETag: "65b6ff8d-4b"
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<body>
<p><em>Hello,World!</em></p>
</body>
</html>
2. Test Procedure
1. Add Test Nodes
Add both nodes in AngusTester's Nodes
section and install agents:
Note: The "Service Node" hosts the Nginx service.
2. Create Test Script
Create a script named "AngusTester Nginx Benchmark" under Scripts
:
specification: angus/1.0.0
type: TEST_PERFORMANCE
plugin: Http
configuration:
duration: 50min
thread:
threads: 5000
rampUpInterval: 1min
rampUpThreads: 100
onError:
sampleError: false
priority: 1000
task:
pipelines:
- target: HTTP
request:
method: GET
url: http://172.26.167.79:80
Configuration: 100 threads added per minute, max 5000 threads, total duration 50 minutes
3. Configure Execution Task
Create an execution task under Executions
, selecting the script and nodes:
4. Monitor Task Status
View real-time task status in the executions list ("In Progress"):
3. Test Results
1. Summary Report
Aggregated metrics from the final sampling:
2. Throughput (TPS)
Transactions Per Second (TPS) measures system processing capacity:
3. Thread Metrics
Threads simulate concurrent users for load testing:
4. Response Time (RT)
Time interval between request transmission and response receipt (ms):
5. Resource Utilization (CPU)
Monitor system bottlenecks through CPU/Memory/Disk/Network metrics:
6. Overlay Analysis
Correlate Transactions Per Second (TPS) with thread concurrency:
Experience Performance-Optimized Testing:
🔗 AngusTester Console 🔗