根据参数优化Nginx服务性能优化

一、优化Nginx服务的worker进程个数

目的:在高并发,高访问量的场景,实现启动数量适当的Nginx进程,保证快速响应并处理大量并发用户的请求。

  1.优化Nginx进程对应的配置

    worker_processes 1;  #指定进程数量,Master表示管理进程,worker表示服务进程

  2.优化Nginx进程个数的策略

    对于新的配置,不知道网站的用户数,worker进程一般等于CPU的核数,且worker进程数要多一些,防止因为访问量快速增加而临时启动新进程提供服务的问题,缩短瞬时开销和提供服务的时间,提升服务用户的速度

    在了解用户的数量时,worker_processes参数大小,设置最好和用户的数量相关联

    对于高流量,高并发场合,考虑将参数提高至CPU核数的2倍,具体情况具体分析,其余CPU核数,硬盘存储的数据及系统 的负载相关

  3.查看Web服务器CPU硬件资源信息

    命令为:

  查看CPU总核数

    grep processor /proc/cpuinfo|wc -l

    grep -c processor /proc/cpuinfo

  查看CPU总颗数:

    grep 'physical id' /proc/cpuinfo|sort|uniq|wc -l

  通过top命令,然后再按1可以,显示所有的CPU颗数

  4.实践修改Nginx配置

    在配置文件下查看进程数:

       grep worker_processes nginx.conf

    修改进程数:

      sed -i 's#worker_processes 1#worker_processes 4#g' nginx.conf

    重新平滑启动Nginx

二、绑定不同的Nginx进程到不同的CPU上

目的:Nginx多个进程可能跑在一个CPU或者CPU的某一核上,导致Nginx引荐资源不均。

  1.worker_cpu_affinity的作用是绑定不同的worker进程数到一组CPU上,通过设置bitmask控制进程允许使用的CPU,默认worker进程不会绑定到任何的CPU

三、Nginx事件处理优化模型

  Linux下采用epoll的I/O多路复用模型,对于连接进程的方法,通常不需要设置,Nginx会自动选择最有效的方法。

四、调整Nginx单个进程允许的客户端最大的连接数  

  在events模块中的worker_connections [数字]

  最大客户端的连接数为:worker_precesses*worker_connections

  实际的并发连接数除了受worker_connections参数控制外,还和最大打开文件数worker_rlimit_nofule有关

五、配置Nginx worker进程最大打开文件数

  参数:worker_rlimit_nofile

     

  

 

posted @ 2022-07-05 11:49  酷酷的排球  阅读(102)  评论(0编辑  收藏  举报