天天看點

proxy_cache的使用proxy_cache的使用

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

繼續閱讀