首页主机资讯Ubuntu Apache怎样提高并发处理能力

Ubuntu Apache怎样提高并发处理能力

时间2025-11-25 09:13:03发布访客分类主机资讯浏览1303
导读:Ubuntu 上提升 Apache 并发处理能力的实用方案 一 选择合适 MPM 并调整关键参数 选择并发更高的 MPM Event(或 Worker);若使用线程不安全的模块(如部分 PHP SAPI),则保留 Prefork。切换示例...

Ubuntu 上提升 Apache 并发处理能力的实用方案

一 选择合适 MPM 并调整关键参数

  • 选择并发更高的 MPM Event(或 Worker);若使用线程不安全的模块(如部分 PHP SAPI),则保留 Prefork。切换示例:sudo a2dismod mpm_prefork & & sudo a2enmod mpm_event & & sudo systemctl restart apache2。
  • 典型并发能力估算:MaxRequestWorkers ≈ 内存 / 单进程/线程 RSS。例如单进程约 30MB,内存 4GB 时,理论值约 130(留有余量建议 ≤ 120)。
  • 参考配置(按需微调):
    • Prefork(适合非线程安全 PHP):
      StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 120 MaxConnectionsPerChild 10000
    • Event/Worker(更高并发):
      StartServers 4 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestWorkers 150 MaxConnectionsPerChild 1000
      调整完成后重启:sudo systemctl restart apache2。

二 优化 KeepAlive 与超时减少连接开销

  • 启用持久连接并控制每连接请求数与等待时间:
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 2(高并发建议 1–5 秒
  • 降低整体超时,避免慢客户端占用:Timeout 30(静态资源可更低,动态接口视业务而定)。
  • 关闭 DNS 反向解析以减少阻塞:HostnameLookups Off。
  • 修改后重启服务生效。

三 启用压缩与缓存降低负载与时延

  • 启用压缩(mod_deflate):
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript
  • 启用缓存与过期策略(mod_cache、mod_cache_disk、mod_expires):
    sudo a2enmod cache cache_disk expires
    ExpiresActive On ExpiresByType text/css “access plus 1 month” ExpiresByType application/javascript “access plus 1 month” ExpiresByType image/jpg “access plus 1 month”
    CacheRoot /var/cache/apache2/mod_cache_disk CacheEnable disk / CacheDirLevels 2 CacheDirLength 1
  • 适度降低日志开销:LogLevel warn

四 连接与请求限制及安全加固

  • 限制请求头与请求行大小,抵御异常或放大请求:
    LimitRequestLine 192
    LimitRequestFieldSize 8190
    LimitHeadersCount 100
  • 隐藏版本信息,降低攻击面:ServerTokens Prod

五 监控、压测与横向扩展

  • 实时监控与状态页:
    • 资源监控:htop、netstat、dstat、sar。
    • Apache 状态页:启用 mod_status,配置
      < Location “/server-status”> SetHandler server-status Require local
      访问 http://服务器IP/server-status 查看并发与排队情况。
  • 压测与迭代:使用 ab、wrk、k6 进行基线压测,观察吞吐、P95/P99 延迟与错误率,按监控结果微调 MPM 与超时。
  • 横向扩展:在 Apache 前部署 Nginx/HAProxy 做负载均衡,分摊到多台后端实例,提高总体并发上限与可用性。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Apache怎样提高并发处理能力
本文地址: https://pptw.com/jishu/755247.html
ubuntu filebeat怎样查看日志详情 如何在Debian上优化Python内存管理

游客 回复需填写必要信息