首页 > 代码库 > 企业级Web Nginx 服务优化(2)
企业级Web Nginx 服务优化(2)
2.worker_cpu_affinity参数官方说明:
查看cpu的核数的情况:[root@nginx-01 conf]# grep "physical" /proc/cpuinfophysical id : 0address sizes : 42 bits physical, 48 bits virtual
top命令很好记得总结
输入top 按 1 来进行查看。
3.压力测试配置结果:
a.配置前压力测试结果:
通过观察,我们发现配置前不同CPU使用率相对平均。
b.配置worker_cpu_affinity后:
[root@nginx-01 conf]# grep worker_cpu nginx.conf worker_cpu_affinity 0001 0010 0100 1000;
压力测试结果如下:
通过观察,我们发下配置后不同CPU使用率相对平均,和测试前变化不大。因此默认就比较平均,一方面是软件自身在逐渐的优化使用多核cpu,另一方面测试数据有待调整。
[root@nginx-01 conf]# man taskset
TASKSET(1) Linux User’s Manual TASKSET(1)
NAME
taskset - retrieve or set a process’s CPU affinity
SYNOPSIS
taskset [options] mask command [arg]...
taskset [options] -p [mask] pid
其他服务可以来进行亲和 例如:mysql
1.1.5事件处理模型的优化
nginx 的连接处理机制在于不同的操作系统采用不同的IO模型,在linux使用epoll的IP多路服用的模型,在freebsd使用kqueue的IO多路服用模型,在solaris使用/dev/poll方式的IO多复用模型,在windows使用的是icop等等。
根据系统类型不同选择不同use[kqueue|rtsig|epoll|/dev/poll/select|poll];该参数结合系统使用,不同系统使用参数不同,我们使用的是Centos6.5,因此我们调整为epoll模型。
1.具体的配置参数如下:
2.官方说明:
[root@nginx-01 conf]# grep "epoll" nginx.conf
use epoll;
1.1.6调整单个进程允许的客户端最大的连接数
这个值是根据具体服务器性能程序的内存使用量来制定的(一个进程启动使用的内存根据程序确定)
worker_connections官方说明:
这个是每个worker进程的客户端连接数是多少。
1.1.7配置每个进程最大文件打开数:
worker_rlimit_nofilenumber官方说明
1.1.8优化服务器名字的hash表大小:
出现了这种情况,那就需要将设置值扩大一倍:
server_names_hash_max_size:
1.1.19开启高效文件传输模式
企业级Web Nginx 服务优化(2)