切片
功能:通过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;
}
功能:对客户端推送资源