码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx性能优化

时间:2017-02-25 17:18:09      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:number   bug   nbsp   调试   ber   with   应该   eof   资源   

一、性能优化相关配置:

(1)设置进程cpu的个数。

worker_process #;worker进程的个数;通常应该略少于CPU物理核心数。

(2)绑定物理cpu。

worker_cpu_affinity  00000001 00000010 00000100

(3)减少计时器解析度的值<间隔>。

timer_resolution 间隔;可减少gettimeofday()系统调用的次数;

(4)调低worker线程的nice值,提高优先级。

worker_priority -10;        指明worker进程的nice值;

二、以上详解

(1)性能优化相关配置:
1、worker_process #; worker进程的个数;通常应该略少于CPU物理核心数。
2、worker_cpu_affinity cpumask 。。。;
优点: 提升CPU缓存的命中率;
context switch:会产生CPU的不必要的消耗;cpu进程切换(浪费cpu资源和时间)
CPU隔离(worker线程绑定单个cpu,)
cpumask: 0000 0011(表示第一和第二两颗)
0000 0001
0000 0010
0000 0100
绑定三颗cpu=> worker_cpu_affinity 00000001 00000010 00000100
3、timer_resolution 间隔; 减低时间解析度,减少系统调用.生产力强的应该大量运行在用户空间,
计时器解析度:降低此值,可减少gettimeofday()系统调用的次数;
4、worker_priority number;
指明worker进程的nice值;
-20,19
100,139
(2)事件相关的配置:
1、accept_mutex {off|on};
master调度用户请求至各worker进程时使用的负载均衡锁;on表示能让多个worker轮流地、序列化地去响应新请求;
2、lock_file file;
accept_mutex用到的锁文件路径;
3、use [epoll|rtsig(实时信号)|select|poll]
指明使用的事件模型;建议让Nginx自行选择;
4、worker_connections #;
设定单个worker进程所能处理的最大并发连接数量;
worker_connects * work_processes 1024 * 8
(3)用于调试、定位问题的:
1、daemon {on|off} 是否以守护进程方式运行Nginx;调试时应该设置为off。
2、master_process {on|off};
是否以master/worker模型来运行Nginx;调试时可以设置为off;
3、error_log 位置 级别;
若要使用debug级别,需要在编辑Nginx时使用 --with-debug选项;
总结:常需要进行调整的参数
worker_processworker_connectionsworker_cpu_affinity,worker_priority

 

Nginx性能优化

标签:number   bug   nbsp   调试   ber   with   应该   eof   资源   

原文地址:http://www.cnblogs.com/itcomputer/p/6441998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!