• 怎么解决大量用户来访问,而且耗时能控制在20ms内(标签-腾讯云)


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 负重前行的牛 2024-08-08 09:50 采纳率: 0% 浏览 31 首页/ 大数据 / 怎么解决大量用户来访问,而且耗时能控制在20ms内(标签-腾讯云) elasticsearch缓存java 最近发现有人爬个人中心的评论,导致接口查询耗时几十毫秒,要控制在20ms内 腾讯云服务器,查询的是es,评论量大概2亿。5分片。 根据个人用户id加缓存,但是爬的人用的用户id都是不相同,缓存命中低 怎么解决大量用户来访问,而且耗时能控制在20ms内 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 一直免费一直爽 2024-08-11 21:49
      关注

      以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

      为了解决您的问题,我们可以采取以下几个步骤:

      1. 增加索引容量:增加ES的索引容量可以显著提高查询速度。

      2. 使用ES的prettify功能:prettify是一个用于优化搜索性能的功能,它可以将查询语句转换成更短、更容易理解的形式。

      3. 分页查询:对于大篇幅的数据集,可以采用分页查询的方式,每次只返回一部分数据,而不是一次性获取所有数据。

      4. 优化查询语法:减少不必要的连接操作,例如不要使用JOIN等高级语法。

      5. 数据压缩:对索引进行压缩,以减少存储空间需求并提高查询效率。

      6. 索引优化:合理设置索引结构,例如使用合适的字段类型(如文本、数字等),以及适当的索引策略。

      7. 引入ES集群:利用ES集群的高可用性和横向扩展性,可以通过添加更多节点来进一步提升查询性能。

      8. 使用ES的分布式事务处理:通过ES的分布式事务处理,可以在多个节点上并发执行相同的事务,从而加速数据更新过程。

      9. 利用ES的分库分表技术:将大数据库分割成小的子库或表,每个子库或表都由一个或者几个ES实例管理,这有助于提高查询效率。

      下面是一个简单的示例代码,展示了如何使用ES的prettify功能:

      import es
      from es import ES, Index
      
      # 创建一个新的ES客户端
      client = ES()
      
      # 搜索查询
      query = "search_query"
      index = "my_index"
      
      response = client.search(index=index, query=query)
      
      print(response['hits']['total'])
      

      这个示例中,我们创建了一个新的ES客户端,并设置了索引名。然后,我们使用search方法执行了搜索查询,并打印出结果的数量。这样,我们就成功地减少了不必要的连接操作,提高了查询性能。

      展开全部

      评论 编辑记录
    • 夜郎king 2022博客之星IT其它领域TOP 12 2024-08-30 08:48
      关注

      加上缓存,将热点数据放到redis中加速访问。这样能提高不少的访问速度。

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    大模型架构创新已死?
    Java - LinkedHashMap原理分析
    SECS/GEM金南瓜通讯平台
    8000字,程序性能优化的全能手册
    Android 通知--判断通知是否有跳转
    动态规划:背包问题
    codeforces (C++ Haunted House)
    Python代码优化工具——line_profile
    Win安装Nacos
    前端获取文件后缀名
  • 原文地址:https://ask.csdn.net/questions/8135800