前提:須要搭建和部署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