gpt4 book ai didi

nginx - nginx作为Elasticsearch负载均衡器性能低下

转载 作者:行者123 更新时间:2023-12-02 23:26:14 25 4
gpt4 key购买 nike

我试图在 flex 搜索集群(版本1.3.7)之前将nginx配置为负载均衡器。

我正在测试从3个基准服务器到群集中的3个Elasticsearch节点。
使用nginx作为LoadBalancer,我的性能下降了约50%。

没有nginx,我能够在300秒内处理28K个请求,但是有了它,在300秒内只能处理13k个请求。
服务器是VM,因此至少不应该是网络问题。
Nginx服务器没有高CPU负载或资源限制。

Config非常简单:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

worker_rlimit_nofile 4096;

events {
worker_connections 1024;
}

以及特定于ES的内容:
server {
listen 9100;
server_name elasticsearch.site.com;
location / {
proxy_pass http://elasticsearch;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Proxy-Connection "Keep-Alive";
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log error;
}

upstream elasticsearch {
server elasticsearch1:9200;
server elasticsearch2:9200;
server elasticsearch3:9200;
keepalive 15;
}

我想知道是否有任何方法可以理解为什么nginx无法每秒发送更多请求,或者是否有任何方法可以调试这种情况。
了解超时,保持 Activity 连接或nginx处理的任何其他资源都很好。

最佳答案

您不需要负载平衡器-ES已经提供了该功能。您只是添加了另一个组件,该组件可能行为不正常,并会添加不必要的网络跃点。去DNS轮循。

ES将分片您的数据(默认为5个分片),它将尝试在实例之间平均分配。根据您的环境调整分片和副本。

关于nginx - nginx作为Elasticsearch负载均衡器性能低下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42650740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com