1.在Centos中有一个可用的Nginx服务,没有可按此方法安装。
2.通过ps命令查看Nginx工作进程
[root@localhost /]# ps -ef | grep nginx
root 11231 1 0 18:16 ? 00:00:00 nginx: master process /data/nginx/sbin/nginx
nobody 11232 11231 0 18:16 ? 00:00:00 nginx: worker process
root 21216 7153 0 18:57 pts/0 00:00:00 grep --color=auto nginx
3.使用lscpu,查看本机有几核CPU
[root@localhost /]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4 #4个物理CPU,可以创建四个工作进程
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
4.对Nginx进行ab压测基准测试
此为在测试机上的配置
咱们可以先安装 ab压测 命令
[root@localhost ~]# yum install httpd-tools -y #现在另一台测试机安装ab压测命令
在调整文件描述符数量
[root@localhost ~]# ulimit -n 100000
在进行 ab 压测进行测试
[root@localhost ~]# ab -c 1000 -n 10000 http://10.0.0.5/ #使用此命令进行压测
开启俩个远程连接窗口,打开被测试机打开top查看CPU占用度
因为Nginx安装后默认只有一个进程,所以实际上处理Nginx的只有一个CPU,这样我们会有另三个空闲CPU
%Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.3 us, 8.2 sy, 0.0 ni, 91.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 1.6 us, 31.4 sy, 0.0 ni, 53.5 id, 0.0 wa, 0.0 hi, 13.5 si, 0.0 st
可以看到只有%Cpu3才有有使用,其余几乎是90%+的空闲性能
5.然后我们可以进入nginx.conf进行简单调优
下图为未进行调优时的开头配置
下图为简单调优后的开头配置
自动分配CPU这样就可以了
worker_processes auto;
events {
worker_connections 10000;
}
6.查看Nginx进程是否增加
[root@localhost ~]# ps -ef | grep nginx
root 7177 1 0 21:40 ? 00:00:00 nginx: master process /data/nginx/sbin/nginx
nobody 7178 7177 0 21:40 ? 00:00:00 nginx: worker process
nobody 7179 7177 0 21:40 ? 00:00:00 nginx: worker process
nobody 7180 7177 0 21:40 ? 00:00:00 nginx: worker process
nobody 7181 7177 0 21:40 ? 00:00:00 nginx: worker process
root 7243 7159 0 21:43 pts/0 00:00:00 grep --color=auto nginx
7.使用测试机进行负载测试
[root@localhost ~]# ab -c 1000 -n 10000 http://10.0.0.5/ #测试机输入此命令
在被测试机上面输入:top 命令进行查看负载
%Cpu0 : 1.0 us, 10.5 sy, 0.0 ni, 88.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.3 us, 9.4 sy, 0.0 ni, 90.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.4 us, 9.8 sy, 0.0 ni, 89.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 1.7 us, 18.2 sy, 0.0 ni, 39.8 id, 0.0 wa, 0.0 hi, 40.3 si, 0.0 st
可以看到四个CPU都有负载使用,其余三个CPU还是明显存在空闲清空,很明显测试并发数不够,还可以增加
在htop命令中能更直观的表现出来:
8.简单的Nginx基础调优到此就结束了