环境 :
CentOS7
Nginx 1.16.0
- 配置文件读取
Syntax: sendfile on | off;
Default: sendfile off;
Context: http, server, location, if in location;
sendfile的原理用这张图解释:
减少了传统网络传输中多次的上下文切换, 对于静态文件传输能够极大提升性能。
aio : 异步io读取
2. tcp_nopush
Syntax: tcp_nopush on | off;
Default: tcp_nopush off;
Context: http, server, location;
在sendfile开启的情况下才可开启, 启用后,数据包只有累积到一定大小后才会发送,减少了额外开销,提升的网络效率
3.tcp_nodelay
Syntax: tcp_nodelay on | off;
Default: tcp_nodelay on;
Context: http, server, location;
允许了小包的发送, 启用即意味着禁用了Nagle算法(Nagle算法就是为了尽可能发送大块数据,避免网络中充斥着许多小数据块)
- 压缩
Syntax: gzip on | off;
Default: gzip off;
Context: http, server, location, if in location;
压缩比配置:
Syntax: gzip_comp_level level;
Default : gzip_comp_level 1;
Context: http, server, location;
压缩比例越高, 花费的时间和资源也越多。
Syntax: gzip_http_version 1.0 | 1.1
Default: gzip_ http_version 1.1;
Context: http, server,location;
扩展Nginx压缩模块
http_gzip_static_module ——预读gzip功能
即, 发送资源时, 优先寻找已压缩的文件,而不是立即压缩
http_gunzip_module ——使应用支持gunzip压缩方式
配置如下: