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 条评论
登录 后参与评论

相关文章

来自专栏Java技术

初探性能优化--2个月到4小时的性能提升!

一直不知道性能优化都要做些什么,从哪方面思考,直到最近接手了一个公司的小项目,可谓麻雀虽小五脏俱全。让我这个编程小白学到了很多性能优化的知识,或者说一些思考方式...

531
来自专栏SDNLAB

Ryu:网络时延探测应用

之前,笔者已经发布了网络感知应用和基于跳数的最短路径转发应用。本文将介绍笔者开发的网络时延探测应用。该应用通过LLDP数据包的时延和Echo数据包的时延计算得出...

3208
来自专栏程序你好

Apache Spark大数据处理 - 性能分析(实例)

今天的任务是将伦敦自行车租赁数据分为两组,周末和工作日。将数据分组到更小的子集进行进一步处理是一种常见的业务需求,我们将看到Spark如何帮助我们完成这项任务。

1013
来自专栏WindCoder

Elixir和OTP中面向过程的编程指南

这篇文章感觉介绍语言是次,讲解各种各种分类以及面向过程的思想为主。本身我也没接触过Elixir,这次也权当开拓视野了。最后附加了一个英语单词的小解,当学习之余的...

441
来自专栏Albert陈凯

2018-08-25 2000万条数据迁移从几天到几个小时

一直不知道性能优化都要做些什么,从哪方面思考,直到最近接手了一个公司的小项目,可谓麻雀虽小五脏俱全。让我这个编程小白学到了很多性能优化的知识,或者说一些思考方式...

722
来自专栏Road

设计模式 -- 设计原则

Define: Software entities like classes,modules and functions should be open for...

1465
来自专栏跟着阿笨一起玩NET

数据库水平切分的原理探讨、设计思路--数据库分库,分表,集群,负载均衡器

数据量巨大时,首先把多表分算到不同的DB中,然后把数据根据关键列,分布到不同的数据库中。库分布以后,系统的查询,io等操作都可以有多个机器组成的群组共同完成了。...

602
来自专栏哲学驱动设计

090609 T 领域建模

领域建模的重要性     以数据为中心的应用程序开发,面向过程分析方法的核心在于对数据库的设计。     而现在以面向对象的方式进行分析(OOA,OOD)时,领...

1708
来自专栏铭毅天下

干货 | 论Elasticsearch数据建模的重要性

数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,用图形化的形式去描述业务规则的过程,从而表示现实世界中事务的相互关系的一种映射...

662
来自专栏java一日一条

Java 性能优化的五大技巧

要对你的 java 代码进行优化,需要理解 java 不同要素之间的相互作用,以及它是如何与其运行时的操作系统进行交互的。使用下面这五个技巧和资源,开始学习如何...

523

扫码关注云+社区