前提:须要搭建和部署nginx服务以及后端服务,以便测试反向代理使用,这部分工做省略。nginx
在nginx的http模块中开辟一块名为my_cache的缓存空间,缓存路径为/tmp/nginxcache,大小为10m。shell
# 设置缓存路径及其余缓存参数。 # levels定义高速缓存的级别,每一个级别接收值1或2, # keys_zone设置共享缓存名称和大小,全部活动的key和信息被存储再缓存中。 # max_size设置最大缓存大小 proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=my_cache:10m max_size=1g;
在nginx server模块设置反向代理缓存后端
proxy_pass http://127.0.0.1:3000; #代理的后端服务 proxy_cache my_cache ; #定义用于缓存的共享缓存区域,默认为proxy_cache off proxy_cache_key $host$uri$is_args$args; #设置缓存key proxy_cache_valid 200 304 302 5m; #设置不一样响应码的缓存时间 proxy_cache_valid 404 10s;
nginx -s reload siege http://onlinetest.guoew.cc/ -c 500 -t 5 Lifting the server siege... done. Transactions: 129470 hits Availability: 100.00 % #成功率 Elapsed time: 299.03 secs #执行时间 Data transferred: 6918.02 MB #数据传输大小 Response time: 0.65 secs #平均响应时间 Transaction rate: 432.97 trans/sec #每秒处理请求数 Throughput: 23.13 MB/sec #平均每秒传输数据量 Concurrency: 282.00 #实际最高并发 Successful transactions: 129470 #成功处理次数 Failed transactions: 0 #失败处理次数 Longest transaction: 17.72 #传输所花最长时间 Shortest transaction: 0.00 #传输所花最短期
不敢直视,siege 500并发几乎所有报错,下降到并发100才能勉强进行测试。缓存
ransactions: 8389 hits Availability: 100.00 % Elapsed time: 299.32 secs Data transferred: 356.36 MB Response time: 3.05 secs Transaction rate: 28.03 trans/sec Throughput: 1.19 MB/sec Concurrency: 85.60 Successful transactions: 6721 Failed transactions: 0 Longest transaction: 18.60 Shortest transaction: 0.00