Test Environment Setup
The performance testing focuses on evaluating Taurus.MVC framework capabilities under various conditions using different benchmarking tools.
Legacy System Configuration:
CPU: Intel(R) Core(TM) i5-9400 @ 2.90GHz
Cores: 6
Logical Processors: 6
RAM: 16GB
Application compiled with .NET 8 and hosted via Kestrel directly on Windows environment.
Benchmark Results Using Apache Bench
A. Single-threaded Test (Simple Respones Endpoint)
ab -n 100000 -c 1 http://192.168.100.102:51996/api/hello
Results showed 3263 requests per second with execution time of 0.306ms per request.
B. Multi-threaded Test
ab -n 100000 -c 2 http://192.168.100.102:51996/api/hello
Performance increased to 5498 requests per second, though CPU utilization reached maximum capacity.
C. Optimized Logging Configuration
Disabled console logging to reduce overhead:
services.AddLogging(op => op.SetMinimumLevel(LogLevel.None));
This optimization improved single-threaded performance to 3595 requests per second.
D. Database Query Test
public void Hello(string msg)
{
string conn = "server=.;database=MSLog;uid=sa;pwd=123456";
using (MProc proc = new MProc("select top 1 * from SysLogs", conn))
{
Write(proc.ExeJson());
}
}
Database query test achieved 5470 requests per second with JSON output.
WRK Tool Testing on Virtual Machine
Virtual Machine Specifications:
CPU: Intel(R) Core(TM) i5-9400 @ 2.90GHz
Cores: 2
Logical Processors: 2
RAM: 4GB
Initial Test Parameters
wrk -t 1 -c1 -d 10s http://192.168.100.102:51996/api/hello
Baseline perfomrance measured at 1518 requests per second.
High Concurrency Test
wrk -t 2 -c4096 -d 10s http://192.168.100.102:51996/api/hello
Achieved 23303 requests per second with 4096 concurrent connections.
New System Performance Evaluation
Modern Hardware Configuration:
CPU: 13th Gen Intel(R) Core(TM) i5-13600KF
Cores: 14
Logical Processors: 20
RAM: 64GB
Apache Bench Results
ab -n 100000 -c 1 http://192.168.100.102:51996/api/hello
Significant improvement reaching 11389 requests per second on single thread.
Multi-threaded WRK Testing
wrk -t 8 -c 2048 -d 10s http://192.168.100.101:51996/api/hello
Performance scaled to 84306 requests per second.
Extended Duration Testing
wrk -t18 -c 1400 -d 60s http://192.168.100.101:51996/api/hello
Sustained performance of 105462 requests per second over 60 seconds.
Database Operation Benchmark
wrk -t18 -c 1200 -d 60s http://192.168.100.101:51996/api/hellodb
Database query operations achieved 73122 requests per second.
Linux Deployment Testing
CentOS 7 Virtual Machine:
CPU: 13th Gen Intel(R) Core(TM) i5-13600KF
Cores: 8
Logical Processors: 8
RAM: 8GB
Database Query Performance
wrk -t18 -c 1600 -d 60s http://192.168.100.111:51996/api/hellodb
Linux deployment achieved 80831 requests per second with database operations.
Simple Endpoint Testing
wrk -t18 -c 1600 -d 60s http://192.168.100.111:51996/api/hello
Basic endpoint performance reached 106908 requests per second on Linux.