在日常的运维工作中,经常会用到nginx来搭建Web服务,也时常会因高并发导致性能瓶颈的问题。在Nginx性能的优化方面,大多数同学接触到的优化建议就是修改workerprocesses和workerconnections,今天我和大家一起来探究当中的原因
案例场景:
在云上使用Nginx搭建的企业官网,服务器配置为 8Core 16G, 网站访问速度很慢,有时会报504错误(超时连接),通过监控查看服务器负载状况,各方面使用率很低。
调整worker_processes
Nginx有一个主进程和几个工作进程。主进程的主要目的是读取和评估配置,并维护工作进程。工作进程会对请求进行实际处理。Nginx采用基于事件的模型和依赖于操作系统的机制来有效地在工作进程之间分配请求。
换句话说,worker_processes表示虚拟服务器为每个处理器分配了多少内核,以便Nginx可以以优化的方式管理并发送请求。
查看使用的CPU的核数
grep processor /proc/cpuinfo | wc –l
一般系统默认的CPU核数为1,如果我们不做修改,则会使得资源造成浪费。如果使用的CPU核数是8,系统默认只会使用1个内核。我们需要在配置文件nginx.conf中进行修改
worke