专栏首页互联网研发闲思录spark实时计算性能优化

spark实时计算性能优化

1、  计算提供两种模式,一种是jar包本地计算、一种是JSF服务。

2、  第一步是引入spark,因与netty、JDQ均有冲突,解决netty冲突后,隔离计算为单独服务。已在线上,因storm也与spark存在运行时冲突,storm也在用服务。

3、  第二步是召回集扩量,发现当召回集由200扩到500后性能下降过快到70ms,利用多线程多核计算,性能到6ms。已在线上

4、  第三步在此扩量到1000,采用增加线程方式,性能达到25ms左右。已在预发

5、  第四步召回集在扩量,如性能瓶颈是io,则使用jar包本地计算,但与JDQ冲突。需要将线上上报迁移到统一上报服务,服务已有待联调上线。

6、  第五步在扩召回集,取素材特征与提供接口服务拆分、接口服务通过并发分布式方式进行请求,此时召回集量应为几种方式最大。需要调整接口服务与素材、特征以及计算服务,通过测试得到IO、线程计算结果合并、多核计算的平衡,需排期配合。

    第五步已基本和开源分布式搜索引擎计算方式类似,后续会持续调研新的优化方式,并引入到线上。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 个性化推荐系统(四)--- 推荐系统服务端

     推荐系统怎样稳定高效提供服务,持续不断满足业务需求,持续不断面对技术挑战,是每一个服务端开发同学应该持续思考,和持续不断优化线上服务。 ?         以...

    杉枫
  • elasticsearch5.5.3 源码学习 idea下源码编译

      1、学习elasticsearch 源码,通过搜索“elasticsearch源码”,进行相关搜索。      2、因源码gradle编译,选择gradle...

    杉枫
  • 微服务中的netty

      一般使用netty主要是整个netty流程的理解,实际开发中服务端、客户端参数的配置,以及连接 handle的管理是关键,再有就是encode和decode...

    杉枫
  • 设计一个容错的微服务架构

    本文介绍了构建和操作高可用性微服务系统的最常见技术和架构模式。如果你不熟悉本文中的模式,那并不一定意味着你做错了。系统设计没有通用解决方案,建立可靠的系统总是会...

    Superbeet
  • 服务之美-读《微服务设计》笔记全集(一)

    最近在微信读书上读《微服务设计》一书,目前读了30%多了,其间想法有点多,现分享给大家。

    ImportSource
  • CentOS7安装Grafana(Yum)

    Grafana是一个跨平台的开源的分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

    py3study
  • 微服务之基于Docker的分布式企业级实践

    DevOps时代
  • 基于 Docker 和 Kubernetes 的微服务实践

    微服务 是将单一的应用程序拆分成多个微小的服务,各个小服务之间松耦合,高内聚,每个小的服务可以单独进行开发,不依赖于具体的编程语言,也可以使用不同的数据存储技术...

    Java帮帮
  • 深入理解分析微服务(上)

    今年有人提出了2019年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。由于篇幅太长,小编把他分为了上下...

    Java周某人
  • 东汉末年,他们把「服务雪崩」玩到了极致(干货)

    话说东汉末年,曹操、孙权、刘备在赤壁市进行了一次争夺老大位置的大战,这就是有名的赤壁之战。

    悟空聊架构

扫码关注云+社区

领取腾讯云代金券