環境 :
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壓縮方式
配置如下: