LittleSheep
be5ed05175
All checks were successful
release-nightly / build-docker (push) Successful in 1m10s
86 lines
3.3 KiB
Markdown
86 lines
3.3 KiB
Markdown
# Benchmark
|
|
|
|
This result is design for test the performance of the roadsign.
|
|
Welcome to contribute more tests of others reverse proxy software!
|
|
|
|
## Platform
|
|
|
|
All tests are running on my workstation:
|
|
|
|
```text
|
|
..' littlesheep@LittleSheepdeMacBook-Pro
|
|
,xNMM. ------------------------------------
|
|
.OMMMMo OS: macOS Sonoma 14.1 23B2073 arm64
|
|
lMM" Host: MacBook Pro (14-inch, Nov 2023, Three Thunderbolt 4 ports)
|
|
.;loddo:. .olloddol;. Kernel: 23.1.0
|
|
cKMMMMMMMMMMNWMMMMMMMMMM0: Uptime: 2 days, 1 hour, 16 mins
|
|
.KMMMMMMMMMMMMMMMMMMMMMMMWd. Packages: 63 (brew), 4 (brew-cask)
|
|
XMMMMMMMMMMMMMMMMMMMMMMMX. Shell: zsh 5.9
|
|
;MMMMMMMMMMMMMMMMMMMMMMMM: Display (Color LCD): 3024x1964 @ 120Hz (as 1512x982) [Built-in]
|
|
:MMMMMMMMMMMMMMMMMMMMMMMM: DE: Aqua
|
|
.MMMMMMMMMMMMMMMMMMMMMMMMX. WM: Quartz Compositor
|
|
kMMMMMMMMMMMMMMMMMMMMMMMMWd. WM Theme: Multicolor (Dark)
|
|
'XMMMMMMMMMMMMMMMMMMMMMMMMMMk Font: .AppleSystemUIFont [System], Helvetica [User]
|
|
'XMMMMMMMMMMMMMMMMMMMMMMMMK. Cursor: Fill - Black, Outline - White (32px)
|
|
kMMMMMMMMMMMMMMMMMMMMMMd Terminal: iTerm 3.4.22
|
|
;KMMMMMMMWXXWMMMMMMMk. Terminal Font: MesloLGMNFM-Regular (12pt)
|
|
"cooc*" "*coo'" CPU: Apple M3 Max (14) @ 4.06 GHz
|
|
GPU: Apple M3 Max (30) [Integrated]
|
|
Memory: 18.45 GiB / 36.00 GiB (51%)
|
|
Swap: Disabled
|
|
Disk (/): 72.52 GiB / 926.35 GiB (8%) - apfs [Read-only]
|
|
Local IP (en0): 192.168.50.0/24 *
|
|
Battery: 100% [AC connected]
|
|
Power Adapter: 96W USB-C Power Adapter
|
|
Locale: zh_CN.UTF-8
|
|
```
|
|
|
|
## Results
|
|
|
|
The tests are run in the order `nginx -> roadsign without prefork -> roadsign with prefork`. There is no reason why nginx performance should be affected by hardware temperature.
|
|
|
|
### Nginx
|
|
|
|
```shell
|
|
go-wrk -c 60 -d 120 http://localhost:8001
|
|
# => Running 120s test @ http://localhost:8001
|
|
# => 60 goroutine(s) running concurrently
|
|
# => 515749 requests in 1m59.953302003s, 245.92MB read
|
|
# => Requests/sec: 4299.58
|
|
# => Transfer/sec: 2.05MB
|
|
# => Avg Req Time: 13.954846ms
|
|
# => Fastest Request: 0s
|
|
# => Slowest Request: 410.6972ms
|
|
# => Number of Errors: 0
|
|
```
|
|
|
|
### RoadSign
|
|
|
|
```shell
|
|
go-wrk -c 60 -d 120 http://localhost:8000
|
|
# => Running 120s test @ http://localhost:8000
|
|
# => 60 goroutine(s) running concurrently
|
|
# => 8905230 requests in 1m56.215762709s, 3.52GB read
|
|
# => Requests/sec: 76626.70
|
|
# => Transfer/sec: 30.98MB
|
|
# => Avg Req Time: 783.016µs
|
|
# => Fastest Request: 28.542µs
|
|
# => Slowest Request: 46.773083ms
|
|
# => Number of Errors: 0
|
|
```
|
|
|
|
### RoadSign w/ Prefork
|
|
|
|
```shell
|
|
go-wrk -c 60 -d 120 http://localhost:8000
|
|
# => Running 120s test @ http://localhost:8000
|
|
# => 60 goroutine(s) running concurrently
|
|
# => 4784308 requests in 1m59.100307178s, 1.89GB read
|
|
# => Requests/sec: 40170.41
|
|
# => Transfer/sec: 16.24MB
|
|
# => Avg Req Time: 1.493636ms
|
|
# => Fastest Request: 34.291µs
|
|
# => Slowest Request: 8.727666ms
|
|
# => Number of Errors: 0
|
|
```
|