go - 使用 nginx 的 gRPC 负载平衡比直接使用慢得多
问题描述
我正在使用 grpc-go 并想使用 nginx 进行负载平衡,但我不明白为什么 grpc_pass 会给出更糟糕的结果?
基准测试:
upstream "go_grpc" {
server 127.0.0.1:10000;
}
server {
listen 11000;
proxy_pass go_grpc;
}
在 5 秒内处理了 10,000 个请求
通过流{}:
upstream "go_grpc" {
server 127.0.0.1:10000;
}
server {
listen 11000 http2;
location / {
grpc_pass grpc://go_grpc;
}
}
在 10 秒内处理 10,000 个请求(长 2 倍)
解决方案
推荐阅读
- node.js - ERR_HTTP_HEADERS_SENT:在将标头发送到客户端 Passport 后无法设置标头
- ios - 不同视图之间的 SwiftUI 导航
- c# - Visual Studio 2019 未将引用的项目添加到 deps.json
- ruby-on-rails - 下载的文档名称中出现不需要的字符
- php - laravel 中的 PHP 单元崩溃并显示消息“尚未设置外观”
- c# - Acumatica:仅初始化一次视图以提高性能或用户体验
- tensorflow - 如何在 Keras 中对输出层进行采样
- c# - 使用 MVVM 在运行时创建的绑定按钮
- java - 独立 jar 和使用它的服务之间的 java 应用程序属性文件
- javascript - 我如何处理这个 nodejs 承诺函数的错误