• 周一. 5月 27th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

ES elasticsearch 客户端查询CPU占用率高之性能优化

admin

11月 28, 2021

问题描述:由于业务原因,网站并发一般发生在晚上1点左右,持续半个小时,某晚移动端商品图片加载不出来,公司大佬紧急联系各个负责人,高峰期过后恢复正常,第二天查找原因,从商品查找到了ES这边。接手项目前听说由于CPU100%挂过一次,测试压力测试查询并发在每秒80左右就不行了,于是增加机器负载,连续几天还是接二连三的报警,于是仔细查看了代码。性能测试结果如下:

解决方案:发现主站搜索用的是API方式Post提交搜索,出问题的几个接口是使用客户端搜索,换成了API方式后性能提升可以看的到,大概是客户端查询的5倍,看来官方的Client也不是很靠谱。。。

主要代码如下:

//API查询方法
public static GoodsSearchReturnModel GetList(object query)
        {
            var model = new GoodsSearchReturnModel();
            var url = ConfigHelper.GeElasticSearchUrl() + "goods_index/_search";
            try
            {
                var r = HttpClientHelper.PostAsJsonAsync(url, query);
                var result = JsonConvert.DeserializeObject<ResultModel<GoodsIndexModel>>(r);
                if (result != null)
                {
                    if (result.hits.hits != null && result.hits.hits.Any())
                    {
                        result.hits.hits.ToList().ForEach(a =>
                        {
                            model.GoodsList.Add(a._source);
                        });
                        model.Total = result.hits.total;
                    }
                }
            }
            catch (Exception ex)
            {
                LoggerHelper.GetLogger("SearchApiLog").Info(string.Format("{0}服务调用失败{1},错误原因{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), url, ex));
            }
            return model;
        }

在浏览器中的数据管理端可直接模拟操作

《ES elasticsearch 客户端查询CPU占用率高之性能优化》有3个想法
  1. Wow, amazing blog layout! How long have you been blogging for?
    you make running a blog look easy. The whole glance of your website is
    fantastic, let alone the content material! You can see similar here ecommerce

  2. Hey there! Do you know if they make any plugins to assist with SEO?
    I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good results.
    If you know of any please share. Appreciate
    it! You can read similar text here: Ecommerce

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注