proxy_cache的使用
對後端apache伺服器做反向代理
1.在nginx伺服器上定義反向代理
[[email protected] ~]# vim /apps/nginx/conf/servers/vs.conf
server {
server_name www.mylinuxops.com;
listen 80;
location /app {
proxy_pass http://172.20.27.11:80;
}
}
2.後端apache伺服器上啟動服務
[[email protected] ~]# systemctl start httpd
3.在後端伺服器上建立一個app目錄,并建立一個測試首頁
[[email protected] ~]# mkdir /var/www/html/app/
4.建立一個大檔案作為首頁
[[email protected] ~]# ll /var/www/html/app/index.html
-rw-r--r-- 1 root root 595 Jun 1 20:30 /var/www/html/app/index.html
未使用緩存前使用ab進行壓力測試
測試3次
[[email protected] ~]# ab -n10000 -c1000 -r http://www.mylinuxops.com/app/
Requests per second: 1793.52 [#/sec] (mean)
Requests per second: 1866.77 [#/sec] (mean)
Requests per second: 1923.35 [#/sec] (mean)
在反代伺服器上設定緩存
1.修改nginx主配置檔案
http {
....
proxy_cache_path /var/cache/nginx/proxycache levels=1:2:2 keys_zone=proxyc
ache:500m inactive=120s max_size=1g
....
}
2.修改server段的配置檔案,調用緩存
[[email protected] ~]# vim /apps/nginx/conf/servers/vs.conf
server {
server_name www.mylinuxops.com;
listen 80;
location /app {
proxy_pass http://172.20.27.11:80;
proxy_hide_header Location;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 60s;
proxy_http_version 1.0;
proxy_cache proxycache;
proxy_cache_key $request_uri;
proxy_cache_valid 200 302 301 10m;
proxy_cache_valid any 1m;
}
}
3.建立用來存放緩存的目錄
[[email protected] ~]# mkdir /var/cache/nginx/ -p
進行啟動緩存後的壓力測試
[[email protected] ~]# ab -n10000 -c1000 -r http://www.mylinuxops.com/app/
Requests per second: 7379.00 [#/sec] (mean)
Requests per second: 6820.63 [#/sec] (mean)
Requests per second: 7420.85 [#/sec] (mean)
總結
啟用緩存後性能提升3倍以上。
轉載于:https://blog.51cto.com/11886307/2403931