nginx lua 響應進行gzip壓縮

最近在用nginx lua做一個項目時,由於放回結果在100kb左右,所以需要進行gzip壓縮,節約網絡帶寬,但是在lua端又沒有很好的壓縮辦法,所以想到了曲線救國的方案。

我們只需要在nginx端再開一個server,然後反向代理lua的接口,通過設置代理gzip壓縮來達到將lua返回值進行壓縮的結果。經過試驗,最終一個80kb的返回值,通過gzip level 1(最快壓縮方式)壓縮後,僅僅7kb,我們原本峯值300mb的帶寬瞬間掉到20mb以下,效果立竿見影,cpu壓力有所上升,但是整體性能還是維持不變。

在配置過程,gzip_types 這個參數一定要設置成爲包含lua響應出去的頭,否則gzip將不生效。

#gzip站點配置
server {              
  listen 3002;
  gzip on;
  gzip_comp_level 1;
  gzip_proxied any;
  gzip_vary on;
  gzip_min_length  1k;
  gzip_buffers  4 16k;
  gzip_types text/plain application/x-javascript text/css application/xml application/javascript application/json;
  
  #gzip
  location /gzip/hotel/filter {
          proxy_pass https://127.0.0.1:3001/hotel/filter$is_args$args;
  }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章