美文网首页
nginx cache 调研过程

nginx cache 调研过程

作者: qlchan | 来源:发表于2017-11-01 17:24 被阅读75次

一 、调研过程:

选择fastcgi_cache做页面缓存之前,选定了ngx_srcache , lua-resty-cache  和fastcgi_cache这三个做对比 ,ngx_srcache , lua-resty-cache  这两个是lua 写的nginx 扩展(都是upstream 到redis 进行存储)。可能是走网络存储的原因,lua版的在Jmeter压测后,TPS 达到 400/sec就上不去了。而fastcgi_cache则在1000/sec 浮动。

这三个cache 都有一个我们比较棘手的问题,就是cookie管理问题。(fastcgi_cache,ngx_srcache 会缓存住response的set-cookie ,而 lua-resty-cache则会清空)。想到的解决方案:

1、开始想的解决方案,把需要种的Cookie 用独立的接口封装起来,当nginx 接收到请求的时候,用lua的ngx.location.capture 同步发起subrequest ,同步返回。初步实践后,发现效果不尽人意。所以放弃了

2、通过js 异步去请求cookie 接口。但是这无疑又引来了新的请求。

老板们说马上打广告了,流量会飞涨。基于性能上和时间上的考虑,我们决定选择了fastcgi_cache这个来解决燃眉之急。 所以,我们目前只选择了首页和详情页,这两个目前并不太关心cookie的页面进行缓存。目前只缓存5min。

eg;  xxx

二、遇到的问题:

在过程中,由于对C端代码了解不多,只区分了pc 和wap ,并没有区分wap 和app的,所以造成第一次上一台机器的时候发现,wap 和app有样式冲突。后来在nginx 配置里进行了区分。

三、原理和缓存策略可见wiki:

看上一篇

四、前后数据对比:

根据分析nginx access log统计, 命中概率: 缓存请求 / 请求总量 = 39% 左右。因为异步请求的接口访问量太大。所以造成负载的降低并不是太明显。

所以只从响应时间的维度来分析:

1、具体接口的响应时间:

首页www/fyc

cache 前50ms

cache后0 ~20ms

相比较,响应时间 缩减了 最低60 %

如下图:

2、 全量平均响应:

cache 前60ms

cache后20ms ~ 30ms

相比较,响应时间  缩减了 50 %

如下图:

以上都是根据C端机器 进行的分析。

相关文章

  • nginx cache 调研过程

    一 、调研过程: 选择fastcgi_cache做页面缓存之前,选定了ngx_srcache,lua-resty-...

  • Nginx安装手册

    目前需要调研Nginx的安全加固方案。然,Nginx还没真正安装过。固在此记录Nginx的安装过程,以便后续查看。...

  • Nginx优化(Fast_CGI)

    fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=...

  • nginx: [emerg] directive "proxy_

    nginx: [emerg] directive "proxy_cache_bypass" is not term...

  • 缓存相关的

    web缓存服务器 varnish / squid / nginx cache 有什么不同? Nginx 反向代理为...

  • Nginx Proxy Cache原理和最佳实践

    最近正将varnish上的cache policy迁移到nginx proxy cache上,并为后续使用memo...

  • Nginx静态缓存配置

    Nginx 静态缓存配置方法 我们需要用到nginx两个缓存模块Expires和proxy_cache。Nginx...

  • nginx cache 配置

    nginx.conf : www.xxx.com.conf[http://www.xxx.com.conf]:

  • Nginx 进阶

    1. Nginx 多进程结构 Master Process Worker Process Cache Manage...

  • nginx设置proxy cache

    引言 平常我们在web服务中或多或少会用到cache,这次我们说的便是nginx cache。在代理层上的cach...

网友评论

      本文标题:nginx cache 调研过程

      本文链接:https://www.haomeiwen.com/subject/aipgpxtx.html