Nginx - 架构篇 nginx中的切片

切片

功能:通过range协议将大文件分解为多个小文件,更好的用缓存为客户的range协议服务

location / {
    slice             1m;
    proxy_cache       cache;
    proxy_cache_key   $uri$is_args$args$slice_range;
    proxy_set_header  Range $slice_range;
    proxy_cache_valid 200 206 1h;
    proxy_pass        http://localhost:8000;
}

优点

1,可以突破php或nginx上传大小限制,理论可以上传无限大数据(理论上取决于硬盘大小)。

2,可以使用异步或多线程上传来提高上传速度,在javascript中可以使用xmlhttprequest进行异步上传,在PHP中可以使用协程库GuzzleHttp 进行并发上传,其它语言也可以使用多线程的方式上传,还可以开多个浏览器上传,多个同事一块传都可以。

3,断线重传,如果在上传过程中,网络中断,可以在网络恢复后以块大小为单位,进行重传,已经上传的成功的分片就不需要再次上传。

文件描述符缓存 open_file_cache

相关配置可以缓存静态文件的元信息,在这些静态文件被频繁访问时可以显着提升性能

location / {
	open_file_cache max=64 inactive=30d;
	open_file_cache_min_uses 8;
	open_file_cache_valid 3m;
}

注意:

max=64 表示设置缓存文件的最大数目,超过此数字后 Nginx 将按照 LRU 原则丢弃冷数据。

inactive=30d 与 open_file_cache_min_uses 8 表示如果在 30 天内某文件被访问的次数低于 8 次,那就将它从缓存中删除。

open_file_cache_valid 3m 表示每 3 分钟检查一次缓存中的文件元信息是否是最新的,如果不是则更新之。

HTTP2推送资源

location /test {
	add_header link "";
	http2_push_preload on;
}

功能:对客户端推送资源

发布了98 篇原创文章 · 获赞 185 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/xuezhiwu001/article/details/102647581