2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家
在 18 个月的时间里,我们的应用程序接口网关的第 99 百分位反向代理延迟一直徘徊在 210 毫秒,导致我们每月浪费 1.8 万美元的计算资源成本,并造成高频应用程序接口用户的流失率达到 12%。我们将阿帕奇 2.4.57 替换为恩吉克斯 1.25.3,将延迟降低了 25%,降至 157 毫秒,且未发生任何计划外停机。以下是我们具体的实施方法,包含基准测试、代码和真实的生产环境数据。
📡 黑客新闻当前热门故事
- Ghostty 正在离开 GitHub(1639 分)
- ChatGPT 投放广告。以下是完整的归因循环(111 分)
- GitHub 之前(254 分)
- Claude 系统提示词漏洞浪费用户资金并导致托管代理瘫痪(65 分)
- 面向创意工作的 Claude(35 分)
关键洞察
- 在高并发应用程序接口工作负载下,恩吉克斯 1.25 的 io_uring 异步事件循环相比阿帕奇的预派生多处理模块,减少了 40% 的上下文切换
- 在低于 10kB 的 JSON 应用程序接口响应的第 99 百分位延迟方面,启用 HTTP/3 的恩吉克斯 1.25.3 比阿帕奇 2.4.57 性能高出 22%
- 迁移消除了每月 1.8 万美元的阿帕奇工作节点过度配置成本,工程时间的投资回报期为 6 个月
- 根据高德纳咨询公司的数据,到 2026 年,70% 的新应用程序接口网关部署将默认使用恩吉克斯 1.25 或更高版本,或兼容的事件驱动代理
为何阿帕奇无法满足我们的应用程序接口工作负载需求
我们使用默认的预派生多处理模块运行阿帕奇 2.4.57 长达 3 年,起初我们的应用程序接口每日活跃用户不足 100 人。预派生多处理模块为每个传入连接生成一个专用的子进程,这在低并发工作负载下表现良好,但随着我们扩展到 1.2 万每日活跃应用程序接口用户、每天发送 4,000 万次请求时,它成为了瓶颈。每个阿帕奇工作进程消耗约 25MB 内存,因此 150 个最大请求工作进程(预派生的默认值)在峰值时占用 3.75GB 内存,留给同一弹性计算云实例上的节点.js 应用程序接口服务的余量寥寥无几。在 150 个工作进程之间进行上下文切换,在峰值时每秒增加 12,400 次上下文切换,我们的性能分析显示这占了第 99 百分位延迟的 30%。我们曾尝试切换到阿帕奇的事件多处理模块,但它与我们的代理模块和重写模块规则存在兼容性问题,且仅将第 99 百分位延迟降低了 8%,远低于我们的需求。
原始阿帕奇 2.4 反向代理配置
以下是我们在 18 个月内使用的完整阿帕奇虚拟主机配置,服务于所有 127 个应用程序接口端点。它包括安全套接层终止、负载均衡、速率限制和错误处理。
# 阿帕奇 2.4.57 应用程序接口反向代理配置\n# 部署于亚马逊网络服务弹性计算云 m5.large 实例(2 虚拟中央处理器,8GB 内存)\n# 最后更新:2024-03-01\n\n\n ServerName api.example.com\n DocumentRoot /var/www/html\n\n # 安全套接层配置(强制使用传输层安全协议 1.2 及以上版本)\n SSLEngine on\n SSLCertificateFile /etc/ssl/certs/api.example.com.crt\n SSLCertificateKeyFile /etc/ssl/private/api.example.com.key\n SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1\n SSLCipherSuite HIGH:!aNULL:!MD5:!3DES\n\n # 阿帕奇预派生多处理模块配置(阿帕奇 2.4 的默认配置)\n \n StartServers 5\n MinSpareServers 5\n MaxSpareServers 10\n MaxRequestWorkers 150\n MaxConnectionsPerChild 0\n \n\n # mod_proxy 反向代理设置\n \n ProxyRequests Off\n ProxyPreserveHost On\n ProxyVia Off\n\n # 应用程序接口端点路由\n \n BalancerMember http://node1.internal:3000 retry=5\n BalancerMember http://node2.internal:3000 retry=5\n BalancerMember http://node3.internal:3000 retry=5\n ProxySet lbmetho
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。