LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Nginx优化性能的配置项

admin
2025年12月12日 22:47 本文热度 82

Nginx性能优化可以通过调整以下配置项来实现,涵盖网络、缓存、并发、连接管理等多个方面:


1. Worker相关配置

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

这些配置决定了Nginx处理请求的能力:

  • worker_processes
    设置Nginx工作进程的数量,一般配置为服务器CPU核心数。

    worker_processes auto;
  • worker_connections
    每个worker进程可以处理的最大并发连接数。

    worker_connections 1024;

    理论最大并发连接数 = worker_processes x worker_connections

  • worker_cpu_affinity
    设置nginxCPU亲缘性绑定。如果多个 worker 进程都在抢同一个 CPU,那么这就会出现同步问题。反之,如果每一个 worker 进程都独享一个 CPU,就在内核的调度策略上实现了完全的并发。


    # `8`颗`CPU`内核,可进行如下配置
    worker_processes 8;
    worker_cpu_affinity 00000001 00000010 00000100 0000100000010000 00100000 01000000 10000000;

2. 网络优化

  • keepalive_timeout
    设置客户端连接的保持时间,过短会增加TCP重建开销,过长可能浪费资源。

    keepalive_timeout 30; # 单位是秒,超时时间设得长一些
  • sendfile
    作为web服务器的时候打开sendfile加快静态文件传输,俗称零拷贝,在内核空间交换文件。启用零拷贝机制,提高文件传输效率。

    sendfile on;
  • tcp_nopush 和 tcp_nodelay

    tcp_nopush on; 
    tcp_nodelay on;
    • tcp_nopush: 减少网络包的数量,提高传输效率(适用于大文件传输)。
    • tcp_nodelay: 避免小数据包的延迟发送(适用于实时数据)。

3. 缓存优化

  • proxy_cache
    启用反向代理缓存,减少后端服务器压力。

    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off; 
    proxy_cache my_cache;
  • proxy_buffers
    配置缓存缓冲区的数量和大小。

    proxy_buffers 16 4k;

4. 压缩优化

  • gzip 启用压缩以减少数据传输量:
    gzip on; 
    gzip_min_length 1024; 
    gzip_types text/plain application/json application/javascript text/css;

5. 日志管理

日志过多会消耗I/O资源:

  • 减少日志级别:
    error_log /var/log/nginx/error.log warn; 
    access_log off;

6. 超时时间

  • client_body_timeout 和 client_header_timeout
    设置客户端请求头和请求体的超时时间:

    client_body_timeout 10s; 
    client_header_timeout 10s;
  • send_timeout
    设置服务器向客户端发送响应的超时时间:

    send_timeout 30s;

7. 负载均衡优化

  • upstream
    配置如轮询(默认)、最少连接、IP hash等负载均衡算法:

    upstream backend { 
      least_conn; 
      server backend1.example.com; 
      server backend2.example.com; 
    }

8. 限制连接和请求

  • limit_conn 和 limit_req
    限制单个IP的连接数和请求速率:

    limit_conn_zone $binary_remote_addr zone=conn_limit:10m; 
    limit_conn conn_limit 20; 

    limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s; 
    limit_req zone=req_limit burst=20;

9. 允许Nginx进程打开文件数上限

增加Nginx允许打开的文件描述符数量:

  • 在Nginx配置中:
    worker_rlimit_nofile 10240;
  • 系统级别:调整ulimit/etc/security/limits.conf

实际的并发连接数不能超过系统级别的最大打开文件数的限制,与ulimit -n 或者limits.conf的值保持一致


10. SSL优化

启用和优化SSL性能:

  • ssl_session_cache 和 ssl_session_timeout
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
  • 启用HTTP/2以提升多路复用能力:
    listen 443 ssl http2;


阅读原文:原文链接


该文章在 2025/12/13 8:56:49 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved