IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    OpenResty 的性能优化配置建议

    Teacher Du发表于 2025-05-06 08:20:35
    love 0

    1Panel 的用户越来越多,内置 Web 服务 OpenResty 使用占比也在增加,但网上对其优化的教程很少。应关关童靴的需求,更新一篇有关 OpenResty 的一些优化建议。可优化设置项较少,需要的小伙伴可以根据实际需求变更配置。

    server_names_hash_bucket_size 参数项

    含义:该参数用于设置服务器名字 hash 表大小,若名字过长或服务较多,保持默认值可能使 hash 表空间不足,引发错误。

    优化建议:一般为 server_names_hash_max_size 的 1/2-1/3 左右,如服务器配置较高,可直接设置 256。

    gzip 参数项

    gzip_min_length 参数项:对小文件压缩可能得不偿失,一般设置为 1k 或 10k 左右,小于该值的文件不压缩。

    gzip_comp_level 参数项:压缩级别,1 为最小最快,9 为最大最慢,通常建议设置为 4-6,以平衡压缩效果和 CPU 使用率。

    client_header_buffer_size 参数项

    含义:用于设置读取客户端请求头的缓冲区大小,若请求头过大,可能超出默认值导致客户端报错。

    优化建议:根据实际业务需求调整,如业务请求头通常较大,可设为 32k 左右,确保可以完整读取大部分请求头。

    client_max_body_size 参数项

    含义:限制客户端请求主体的最大允许大小,超出该值请求将被拒绝。

    优化建议:根据业务场景和服务器承受能力设置,如普通表单提交可设置为 10m-20m 左右,对于文件上传等大请求可以适当增大。

    keepalive_timeout 参数项

    含义:设置长连接的超时时间,即客户端与服务器间连接保持空闲的最大时间。

    优化建议:一般设为 60-90 秒左右,时间过短会频繁断开连接且增加开销,过长则可能占用过多的资源。

    优化后的配置示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    http {
    # gzip相关配置
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 6;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/json;
    gzip_vary on;
    gzip_proxied any;
    gzip_disable "msie6";

    # 服务器名字hash表大小
    server_names_hash_bucket_size 128;

    # 客户端请求头缓冲区大小
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;

    # 客户端请求主体最大允许大小
    client_max_body_size 32m;

    # 长连接超时时间
    keepalive_timeout 60;

    # 其他配置...
    }

    注意:以上配置仅供参考,具体优化需根据实际业务场景和硬件配置进行调优。



沪ICP备19023445号-2号
友情链接