Nginx性能调优

1.为什么是nginx而不是apache?

Nginx性能调优_第1张图片

Nginx性能调优_第2张图片

2.nginx是如何做到高性能和高可扩展的?

Nginx性能调优_第3张图片

Nginx性能调优_第4张图片

 Nginx性能调优_第5张图片

Nginx性能调优_第6张图片

Nginx性能调优_第7张图片--with-http_stub_status_modele 用于输出nginx基本状态信息模块

--with-openssl=/usr/local/openssl-1.0.2I 指定openssl

--with-gzip_static_module ngx_http_gzip_static_module 允许发送以“.gz”作为文件扩展名的预压缩文件,以替代发送普通文件

--with-http_realip_module 模块用于改变客户端地址和可选端口在发送的头字段里,获取真实IP等

--with-http_sub_module 是一个过滤器,它修改网站响应内容中的字符串

--with-http_ssl_module 用于支持HTTPS

命令:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_moduleNginx性能调优_第8张图片

3.worker工作进程数调优 - worker_processes

查看worker工作进程数

IO密集型 - 一般配置为CUP个数的1.5或2倍;

CPU密集型(计算型) - 一般配置为跟CPU个数一样多;

 查看CPU核数  

命令:lscpu

Nginx性能调优_第9张图片

 也可以通过命令:/proc/cpuinfo 查看

Nginx性能调优_第10张图片

Nginx性能调优_第11张图片

4.Nginx运行CPU亲和力优化 - worker_cpu_affinity

默认情况下可能多个进程跑在一个CPU上或某一核上,导致Nginx进程使用硬件资源不均匀,此次优化是尽可能地分配不同的Nginx进程给不同的CPU处理

配置方法案例:  

Nginx性能调优_第12张图片

Nginx性能调优_第13张图片

Nginx性能调优_第14张图片

5.Nginx最大打开文件数优化

 Nginx性能调优_第15张图片

Nginx性能调优_第16张图片Nginx性能调优_第17张图片Nginx性能调优_第18张图片

worker_connections 修改为1028还是报错,还需要增加一个参数 

Nginx性能调优_第19张图片

增加work_rlimit_nofile 1028;后依旧报错,这个时候nginx的最大并发数修改好了,但是服务器本身还是有最大打开文件数限制

Nginx性能调优_第20张图片

Nginx性能调优_第21张图片

Nginx性能调优_第22张图片 注:* - 代表任何用户 soft - 代表软件 hard - 代表硬件

Nginx性能调优_第23张图片

Nginx性能调优_第24张图片

Nginx性能调优_第25张图片

 正常情况下,最大打开文件数优化为65535

 6.Nginx事件处理模型

Nginx性能调优_第26张图片

Nginx性能调优_第27张图片Nginx性能调优_第28张图片

Nginx性能调优_第29张图片

Nginx性能调优_第30张图片Nginx性能调优_第31张图片Nginx性能调优_第32张图片

Nginx性能调优_第33张图片

 注:multi_accept on - 让一个worker工作进程持续的打开接收请求,Linux默认的事件处理模型就是epoll。

7.开启高效传输模式

 sendfile默认开启,但是还有优化的空间

Nginx性能调优_第34张图片

允许或禁止在FreeBSD平台上的tcp_nopush套接字选项或者linux平台上的tcp_cork套接字选项。这些选项只有在使用sendfile启用的情况下才能被允许。被允许后可以:
在一个数据包里发送请求头和文件的开始部分;
在一个完整的数据包里发送文件。

8.Nginx连接超时时间优化

Nginx性能调优_第35张图片

Nginx性能调优_第36张图片

Nginx性能调优_第37张图片

注:在高并发的情况下,无论程序语言适合短连接或长连接,都要设置为短链接,以防止资源被耗尽

Nginx性能调优_第38张图片

Nginx性能调优_第39张图片Nginx性能调优_第40张图片 9.nginx-fastcgi优化

Nginx性能调优_第41张图片

Nginx性能调优_第42张图片

Nginx性能调优_第43张图片

Nginx性能调优_第44张图片

Nginx性能调优_第45张图片10.nginx-gzip优化

Nginx性能调优_第46张图片

Nginx性能调优_第47张图片

Nginx性能调优_第48张图片

        注:现在生产一般压缩比设置为9,因为现在CPU处理性能都是很快的,不用考虑CPU性能问题。 Nginx性能调优_第49张图片

Nginx性能调优_第50张图片

 注:图片资源本身会开启压缩,这里再用gzip压缩作用不大,大文件资源压缩会消耗大量CPU资源,所以这两种不建议进行gzip压缩。

11.Nginx-expires缓存优化&内核参数优化

缓存优化

Nginx性能调优_第51张图片

Nginx性能调优_第52张图片

Nginx性能调优_第53张图片Nginx性能调优_第54张图片

Nginx性能调优_第55张图片

 内核参数优化

Nginx性能调优_第56张图片

 参数解析:

fs.file-max=999999 - 进程可以同时打开的最大句柄数

 Nginx性能调优_第57张图片

 12.nginx防盗链

Nginx性能调优_第58张图片

Nginx性能调优_第59张图片 Nginx性能调优_第60张图片

Nginx性能调优_第61张图片

你可能感兴趣的:(nginx,centos,nginx,运维)