AngusTester Single-Node Throughput Test Achieving Over 600,000 TPS
This article documents a performance benchmark of AngusTester on a single node, demonstrating over 600,000 transactions per second against an Nginx HTTP server, and details the test purpose, environment, configuration, execution steps, and result analysis.
1. Test Purpose
Validate AngusTester’s performance on HTTP protocol baseline testing (latency < 1 ms) and demonstrate the typical GUI testing workflow.
2. Test Environment
The test uses Nginx as the HTTP server, with the load generator and Nginx deployed on separate machines.
Load node: CentOS 7.6 64‑bit, 32‑core Intel Xeon Platinum, 64 GiB RAM, IP 172.26.167.78, running AngusTester.
Service node: CentOS 7.6 64‑bit, same hardware, IP 172.26.167.79, running Nginx‑1.21.3.
Software:
Test service: nginx‑1.21.3
Test tool: AngusTester‑1.0.0
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;
}
}
}Test Interface
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>3. Test Procedure
Step 1
Add the two machines as nodes in AngusTester and install the proxy; the service node hosts Nginx.
Step 2
Create a script named "AngusTester Nginx Benchmark Performance Test". The test model increases 100 threads every minute up to 5,000 threads, running for 50 minutes.
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:80Step 3
Create an execution, select the script from Step 2, and choose the execution and application nodes.
Step 4
Start the execution; the task automatically enters the "Running" state.
4. Test Results
1. Summary
The aggregated summary shows key metrics from the last sampling.
2. Throughput (TPS)
Throughput indicates the system’s ability to process requests per unit time.
3. Threads
Threads simulate concurrent users to evaluate performance under load.
4. Response Time (RT)
Response time measures the latency from request to response, expressed in milliseconds.
5. Node Resources (CPU)
Monitoring CPU, memory, disk, and network usage helps identify bottlenecks.
6. Overlay Analysis
By selecting "Transactions per Second" and "Thread Count", the trend of TPS as concurrent threads increase can be observed.
For more product information, blogs, and tutorial videos, visit XiaoCan Cloud or scan the QR code below.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Selected Java Interview Questions
A professional Java tech channel sharing common knowledge to help developers fill gaps. Follow us!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
