• Nginx优化性能配置项


    优化性能的配置项

    worker进程数

    语法: worker_processes number;
    默认: worker_processes 1;

    一般配置为与主机的CPU核数相等。并且使用下面的worker_cpu_affinity配置来绑定CPU内核

    worker进程绑定到指定CPU核心

    语法: worker_cpu_affinity cpumask [cpumask...]

    因为Linux内核都是抢占式的。当worker进程都比较繁忙时,会抢占同一个cpu,会造成同步问题。

    例如:主机有两颗CPU,配置如下

    worker_processes 2;
    worker_cpu_affinity 10 01;

    SSL硬件加速

    语法: ssl_engine device;

    如果服务器上有SSL硬件加速设备, 那么就可以进行配置以加快SSL协议的处理速度。
    可以使用OpenSSL提供的命令来查看是否有SSL硬件加速设备:

    [root@test ~]# openssl engine -t

    系统调用gettimeofday的执行频率

    语法: timer_resolution t;

    一般不配置,除非是想要日志文件中打印的时间非常精确才配置

    Nginx worker进程优先级设置

    语法: worker_priority nice;
    默认: worker_priority 0;

    用于设置worker进程的nice值提高优先级。

    Linux系统按照所有进程的优先级来决定哪个进程先执行。进程所分配的CPU时间片大小也与进程的优先级有关,优先级越高,进程分配到的时间片越大。优先级高的进程占用更多的系统资源。

    Linux系统有两种优先级:

      静态优先级:Nice值是进程的静态优先级,取值范围是-20 ~ 19,-20是最高优先级,19是最低优先级,内核进程的nice值通常为-5。其他程序的优先级不应该比-5还小

      动态优先级:内核根据进程的执行情况做出的动态调整

  • 相关阅读:
    JavaScript高级程序设计
    昨天听了林某的建议,开了自己的博客
    Unity是什么?
    依赖注入
    NHibernate 01 [简述]
    C#Delegate.Invoke、Delegate.BeginInvoke And Control.Invoke、Control.BeginInvoke
    C#调用http请求,HttpWebRequest添加http请求头信息
    JUnit入门笔记
    Spring:利用ApplicationContextAware装配Bean
    Java线程安全synchronize学习
  • 原文地址:https://www.cnblogs.com/zh-dream/p/12909327.html
Copyright © 2020-2023  润新知