テスト環境、ソフトウェアやハッドウェアスペック、システムパラメータ、コンフィグなどはここ: https://github.com/jiangwenyuan/nuster/wiki/Web-cache-server-performance-benchmark:-nuster-vs-nginx-vs-varnish-vs-squid と同じです。
テスト通りnusterはsquidよりほぼ4倍はやい
nusterは最近v1.7.9.4をリリースしたので、ぜひ試して見てください、よければStarもください:)
NusterはHAProxyを元に開発したキャッシュサーバーで、HAProxyと互換性がある。
そしてHAProxyのACLを利用して細かいキャッシュルールを定義できる。
- HAProxyのすべての機能や特徴がサポート、100%互換性
- 動的キャッシング機能
- HTTP method, URI, path, query, header, cookiesなどでキャッシング
- HTTP request or response contentsなどでキャッシング
- environment variables, server stateなどでキャッシング
- SSL version, SNI などでキャッシング
- connection rate, number, byte などでキャッシング
- スーパー速い
- キャッシュ purging
- フロントエンドとバックエンド両方HTTPS
- HTTP圧縮
- HTTPリライトやリダイレクト
- などなど
Squid config:
LimitNOFILE=1000000
### squid.conf
workers 12
http_port 10.0.10.13:8089 accel defaultsite=10.0.10.13
cache_peer 10.0.10.10 parent 8000 0 no-query originserver name=hp
cache_mem 500 MB
access_log none
cache_log /dev/null
logfile_rotate 0
via off
reply_header_access X-Cache deny all
reply_header_access X-Cache-Lookup deny all
reply_header_access Age deny all
squid 3.5.20 result
wrk -c 1000 -d 30 -t 100 http://10.0.10.13:8089/helloworld
Running 30s test @ http://10.0.10.13:8089/helloworld
100 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 12.87ms 6.33ms 300.73ms 99.42%
Req/Sec 796.69 49.06 2.00k 97.15%
2380125 requests in 30.10s, 578.82MB read
Requests/sec: 79074.30
Transfer/sec: 19.23MB
squid 4.0.23 result
wrk -c 1000 -d 30 -t 100 http://10.0.10.13:8088/helloworld
Running 30s test @ http://10.0.10.13:8088/helloworld
100 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 12.65ms 5.29ms 264.42ms 99.10%
Req/Sec 806.15 54.14 2.18k 97.98%
2408271 requests in 30.10s, 585.66MB read
Requests/sec: 80010.56
Transfer/sec: 19.46MB
nuster 1.7.9.4 result
wrk --timeout 300 -c 1000 -d 30 -t 100 http://10.0.0.13:8081/helloworld
Running 30s test @ http://10.0.10.13:8081/helloworld
100 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.85ms 1.93ms 205.00ms 99.32%
Req/Sec 3.58k 222.52 5.61k 74.26%
10729455 requests in 30.10s, 2.55GB read
Requests/sec: 356469.04
Transfer/sec: 86.69MB
nginx cacheやvarnish cacheとの比較はここ:
https://github.com/jiangwenyuan/nuster/wiki/Web-cache-server-performance-benchmark:-nuster-vs-nginx-vs-varnish-vs-squid