测试环境
机器
:cpu2核,内存2G。
测试工具
:apache的ab做请求测试。
测试页面
:请求1000个图片的html文件
配置文件
:安装完默认的
图片大小
:30kb。
ab -c 10000 -n 10000 http://192.168.247.140/
-n
:请求的次数
-c
:并发数
在开启前,并发数约130-180。
aio threads;
开启后并发数约700。
在没有分配线程的情况下,cpu也会被占满。
在配置了worker_cpu_affinity 10;
(分配到第二核心)后,多了50,且第一个核心没有被占满。
进行配置使其不至于占满资源
thread_pool default threads=32 max_queue=65536;
aio threads=default;
default
:线程池名
threads
:多少个工作线程
max_queue
:任务队列容纳的最大请求数为65536,一旦任务队列过载,nginx日志会报错并拒绝这一请求。如果没有指定,它的默认值为65536。
aio threads=
:选择线程池(线程池名)
经过测试,这配置没有卵用,俩个都设置为1,核心还是照样占满。