几个Nginx性能优化方法

均需修改nginx的

vi /nginx/conf/nginx.conf

1、worker_processes 工作最大连接数

worker 进程数默认为 1 ,单进程最大连接数为1024

  • 每个 worker 进程都是单线程的进程,它们会调用各个模块以实现多种多样的功能
  • 如果这些模块确认不会出现阻塞式的调用,那么有多少就应该配置多少个进程
  • 反之,如果有可能出现阻塞式调用,那么需要配置稍多一些的worker进程

例如:如果方面会致使用户请求大量读取本地磁盘上的静态资源文件,而且服务器上的内存较小,以至于大部分的请求访问静态资源文件时,都必须读取磁盘(磁头的寻址是缓慢的),而不是内存中的磁盘,那么磁盘 IO 调用可能会阻塞住 worker 进程少量时间,进而导致服务整体性能下降。

几个Nginx性能优化方法

运行工作进程个数一般设置CPU的核心或者核心数x2

如果不了解CPU的核数,可以命令后按1来看

几个Nginx性能优化方法

实操

# 编辑ng的配置文件> vi /usr/local/nginx/conf/nginx.conf> worker_processes 4;# 保存退出# 重新加载ng配置文件> /usr/local/nginx/sbin/nginx-s reload# 查看进程情况>ps-aux|grepnginx|grep-vgrep
几个Nginx性能优化方法

2、worker_cpu_affinity工作进程绑定CPU内核

假定每一个 worker 进程都是非常繁忙的,如果多个 worker 进程都在抢同一个 CPU,那么这就会出现 问题。

反之,如果每一个 worker 进程都独享一个 CPU,就在 内核的调度 策略上实现了完全的 并发。

注意:worker_cpu_affinity 配置仅对 操作有效。

# 如:如果有`2`颗`CPU`内核,就可以进行如下配置worker_processes 2;worker_cpu_affinity 10 01;
# 如:如果有`4`颗`CPU`内核,就可以进行如下配置worker_processes 4;worker_cpu_affinity 1000 0100 0010 0001;
# 如:如果有`8`颗`CPU`内核,就可以进行如下配置worker_processes 8;worker_cpu_affinity 00000001 00000010 00000100 0000100000010000 00100000 01000000 10000000;

链接:https://blog.csdn.net/u010922732/article/details/90404096

几个Nginx性能优化方法

给TA打赏
共{{data.count}}人
人已打赏
运维笔记

攻防演练中的业务逻辑漏洞及检测思路

2023-10-10 18:35:01

运维笔记

使用 Prometheus 进行应用监控,这些总结,你受用吗?

2023-10-10 18:35:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索