Miq*_*elB 5 nginx logging load-balancing fluentd docker
我有一个流利的服务器,平均处理 1000 个请求/秒。该服务器由 32 个 CPU 组成。在这个服务器上运行着 32 个具有相同配置的 fluentd docker 容器。服务器的入口点是一个 nginx 作为负载均衡器,配置了循环算法并将其发送到不同的容器。容器和 nginx 都监听 24224/tcp。
该节点的输入是 6 个使用fluent-logger-csharp发送到 fluentd 服务器的C# 应用程序。因此,对于每个应用程序打开一个到 Fluentd 服务器的连接,由于流量较大,应用程序保持打开套接字。这导致 32 个 docker 中只有 6 个正在处理请求。
如何在不修改 C# 客户端的情况下更好地利用服务器利用率?
首先,我会检查瓶颈是什么:
如果您的应用程序没有使fluentd
服务超载,那么为什么还要使用 32 个核心呢?
如果fluentd
输出是瓶颈,您可以使用多线程选项num_thread
;这样,您可能希望在 6 个fluentd
实例上使用 5 个线程,总计 30 个核心,而不是在 32 个单实例中仅使用 6 个核心。
至于输入,如果您的服务器保持连接打开,那么这确实是您的瓶颈,然后您可能需要部署更多这些服务以增加 fluidd 输入的日志输出数量。
归档时间: |
|
查看次数: |
474 次 |
最近记录: |