zoukankan      html  css  js  c++  java
  • Nginx 优化 Alex

    一、有几个CPU就设置几个worker

    二、绑定内核到指定的CPU上

    三、提高进程的优先级

    四、并发连接数的调整,支持更多的并发

    五、让一个worker 可以连接多个进程

    六、修改新的连接请求的方法

    配置文件:/etc/nginx/nginx.conf

    一、worker_processes auto;

    默认的配置是auto,auto表示根据CPU个数有几个就开启几个worker进程

    worker_processes 4; 

    此处表示只开启四个worker进程

    二、绑定到worker到指定的CPU上

    worker_cpu_affinity 00000001 00000010 00000100 00001000;

    #表示第一个线程绑定到第一个CPU上,第二个绑定到第二个CPU上,以此类推,此处的1在哪个位置,就表示绑定在哪个CPU上

    也可以写成这样worker_cpu_affinity 0001 0010 0100 1000;

    三、提高进程的优先级

    查看默认进程,默认的进程都是0

    1 ps axo pid,cmd,nice |grep nginx
    2    990 nginx: master process /usr/   0
    3    993 nginx: worker process         0
    4   1611 grep --color=auto nginx       0

    修改配置:vim /etc/nginx/nginx.conf

    添加一行:worker_priority -20;

    #此处表示优先级为-20 ,-20优先级最高,官方文档上写的是-20到20 ,但测试下来,只能-20到19 ,写20也是19

    四、提并发连接数的调整,支持更多的并发

    worker_connections 1024;
    每个worker进程所能够打开的最大并发连接数,如10240
    总最大并发数:worker_processes * worker_connections
    每个worker进程的最大并发数,乘以进程数就是系统支持的并发连接数
    这个值可以设置的大点,但不能过大,过大了系统承受不了,
    五、multi_accept on|off;
    此指令默认为off,即默认为一个worker进程只能一次接受一个新的网络连接, on表示每个woker进程可以同时接受所有新的网络连接
    off 表示一次只能接一个,on表示一次可以接多个,打开问on的话,并发性更强
    六、accept_mutex on | off;
    处理新的连接请求的方法;on指由各个worker轮流处理新请求,Off指每个新请求的到达都会通知(唤醒)所有的worker进程,但只有一个进程可获得连接,造成“惊群”,影响性能,默认值为off,可优化为on
    ----------
      TCP连接的两项优化

    tcp_nodelay on | off;
    在keepalived模式下的连接是否启用TCP_NODELAY选项,即Nagle算法
    当为off时,延迟发送,每发送一个包就需要确认ACK,才发送下一个包
    默认On时,不延迟发送,多个包才确认一次
    可用于:http, server, location
    tcp_nopush on | off ;
    在开启sendfile,on时合并响应头和数据体在一个包中一起发送

     

    ------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------- 博客均为个人笔记,无所追求,仅供参考~~~ QQ--2382990774
  • 相关阅读:
    发现个atan2的正确使用方式
    Forward+ Shading架构
    fatal: unable to connect to gitee.com: gitee.com[0: 180.97.125.228]: errno=Unknown error 解决方案
    HDFS HA(高可用性)集群规划
    如何使用RTP引擎对语音编码进行转码
    关于 Angular 应用 tsconfig.json 中的 target 属性
    浅谈 Orbeon form builder 的权限控制
    关于 Angular 应用 tsconfig.json 中的 lib 属性
    orbeon form 通过 url 的方式同第三方应用集成的开发明细
    orbeon form 的配置介绍
  • 原文地址:https://www.cnblogs.com/alexlv/p/14501093.html
Copyright © 2011-2022 走看看