因为部署到服务器上,单核服务器,今天查看服务器的时候发现如果手机打开一个app,感觉QPS有20以上了,CPU占用率最高能到10%。
为了优化响应速度,所以这里在OpenResty上配置缓存,贴上关键的缓存配置
http 块的配置,开启缓存
#缓存控制 proxy_cache_path /var/cache/openresty levels=1:2 keys_zone=dns_cache:10m max_size=1g inactive=8h use_temp_path=off;server 块的配置
因为用的是doh请求,数据是base64加密后的,所以 request_uri 比较长,这里用了 MD5进行哈希,目的是减少缓存Key的长度,提高Nginx的性能。
如果是直连服务器的话,配置上 remote_addr 访问者IP组合起来作为缓存Key。用于获取最近的IP。(如果是用了CDN,remote_addr应该是拿不到真实IP的,需要自己用CDN传递进来的头部信息)
缓存时间大小哪些自己看着调节就行。
proxy_cache dns_cache; set_md5 $hash_key "$request_uri|$remote_addr"; proxy_cache_key $hash_key; proxy_cache_valid 200 1h;测试使用nginx缓存后,打开一个APP,服务器CPU占用率大约不到1%,很满意
评论 (0)