Pingora对比 Nginxb
- 架构限制:NGINX 的 worker(进程)架构在 Cloudflare 的用例中存在操作缺陷,这会损害性能和效率。每个请求只能由单个 worker 处理,这导致所有 CPU 内核之间的负载不平衡,从而减慢速度。
- 连接重用问题:NGINX 连接池与单个 worker 相对应,导致连接重用率低。当请求到达某个 worker 时,它只能重用该 worker 内的连接。随着 NGINX worker 数量的增加,连接重用率变得更差,因为连接分散在更多孤立的池中,这导致更慢的 TTFB(首字节时间)以及需要维护更多连接,进而消耗资源。
- 难以添加的功能:NGINX 虽然是一个非常好的 Web 服务器、负载均衡器或简单的网关,但 Cloudflare 的需求远不止于此。围绕 NGINX 构建所需的所有功能时,需要避免与 NGINX 上游代码库有太多分歧,这并不容易。
- 编程语言限制:NGINX 用 C 语言编写,不是内存安全的,容易出错。补充 C 语言的 Lua 语言性能较差,且在处理复杂的业务逻辑时,缺少静态类型支持。
- 社区活跃度:NGINX 社区活跃度不高,开发往往是闭门造车,这限制了功能的快速迭代和优化。
Loading...