nuster 1.7.9.4 已发布,本次更新主要修复了一个 url 中?位置不一样而 key 一样的 bug。
nuster 是一个基于 HAProxy 的高性能缓存服务器。nuster 完全兼容 HAProxy,并且利用 HAProxy 的 ACL 功能来提供非常细致的缓存规则。特性包括
完全兼容 HAProxy,支持所有 HAProxy 的特性和功能
强大的动态缓存功能
非常快
删除缓存
前后端 HTTPS
HTTP 压缩
HTTP 重写重定向
非常快, 单进程模式下是 nginx 的 3 倍,多进程下 nginx 的 2 倍,varnish 的 3 倍。详见性能比较
增加
更新
1
est 2018-02-05 09:07:00 +08:00 via Android
nginx 没开启 proxy 的 http/1.1。。。性能很低。。。。
|
2
shuizhengqi 2018-02-05 09:44:54 +08:00
...这 是当成 了发布平台吗
|
4
sajesemuy OP @shuizhengqi 不好意思,请多担待:)
|
8
sajesemuy OP @est 这个是设置 nginx 和 upstream 的,因为 cache 已经在 nginx 里,所以并不会有区别。
nginx 和客户端之间是 1.1,keep-alive。 |
11
sajesemuy OP 好吧,实践检验一下
不设置 ======= ``` #proxy_http_version 1.1; #proxy_set_header Connection ""; ``` curl -i http://10.0.10.13:8083/INSTALL ``` HTTP/1.1 200 OK Server: nginx Connection: keep-alive ``` 可见 nginx 发给后端的请求为 http1.0 ``` 10.0.10.13 - - [05/Feb/2018:12:50:18 JST] "GET /INSTALL HTTP/1.0" 200 916 - -> /INSTALL ``` 设置 === ``` proxy_http_version 1.1; proxy_set_header Connection ""; ``` nginx 发给后端的请求为 http1.1 ``` 10.0.10.13 - - [05/Feb/2018:12:51:14 JST] "GET /INSTALL HTTP/1.1" 200 916 - -> /INSTALL ``` wrk 比较 ====== ``` wrk -c 1000 -d 30 -t 100 http://10.0.10.13:8083/INSTALL Running 30s test @ http://10.0.10.13:8083/INSTALL 100 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 11.34ms 10.90ms 225.76ms 92.30% Req/Sec 1.04k 446.52 6.22k 61.21% 3069181 requests in 30.10s, 3.28GB read Requests/sec: 101967.40 Transfer/sec: 111.44MB wrk -c 1000 -d 30 -t 100 http://10.0.10.13:8083/INSTALL Running 30s test @ http://10.0.10.13:8083/INSTALL 100 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 12.97ms 15.53ms 363.39ms 90.47% Req/Sec 1.06k 614.42 14.93k 63.68% 3042735 requests in 30.10s, 3.25GB read Requests/sec: 101089.02 Transfer/sec: 110.48MB ``` 可见并无明显差别 |
15
yytsjq 2018-02-05 14:57:43 +08:00
不知道楼主对比测试过 OpenResty 的 srcache 缓存模块吗?
我现在用的是 srcache+lua-resty-redis+redis 做的 WordPress 页面缓存 https://github.com/openresty/srcache-nginx-module https://github.com/openresty/lua-resty-redis |
17
sajesemuy OP @yytsjq 没有测试过,srcache 是存在外部 memcache 或者 redis,应该会有消耗。我是内置了一个性能差不多和 redis 相当的 hashtable,估计会比 srcache 快。
|
19
sajesemuy OP @yytsjq 做了一下测试,性能上 nuster 是 srcache+memcached 的三倍
测试环境,软件硬件,内核参数,配置文件见 https://www.v2ex.com/t/427703 或者 https://github.com/jiangwenyuan/nuster/wiki/Performance-benchmark:-nuster-vs-nginx-vs-varnish srcache 的配置和官网一致。 openresty+srcache 结果 wrk -c 1000 -d 30 -t 100 http://10.0.10.13:8083/helloworld Running 30s test @ http://10.0.10.13:8083/helloworld 100 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 9.52ms 8.42ms 239.68ms 85.90% Req/Sec 1.24k 152.67 2.72k 71.13% 3725352 requests in 30.10s, 859.77MB read Requests/sec: 123765.07 Transfer/sec: 28.56MB nuster 结果 wrk -c 1000 -d 30 -t 100 http://10.0.10.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 3.33ms 1.95ms 205.90ms 79.42% Req/Sec 3.04k 330.76 5.29k 69.99% 9101575 requests in 30.10s, 2.09GB read Requests/sec: 302383.66 Transfer/sec: 71.23MB nuster 的 RPS 差不多是 openresty+srcache 的三倍 |