聊一聊方案中心性能优化中做的缓存设计

打印 上一主题 下一主题

主题 513|帖子 513|积分 1539

  1. 本篇文章主要是对方案性能优化2.0中,所做的缓存设计的过程、方案、结果做一个总结。
复制代码
一、前言
对于方案中心,核心业务场景之一是物流场景下的物流费用计算。而部分业务场景下,对于物流费用计算的性能有较高要求,如ICBU网站运费模板链路,通方案中心计算快递、海拼物流费用。在接入新的流量场景的背景下(ICBU商品搜索接入运费展示、菜鸟经营中台快递运力线回迁方案中心),方案中心将会面对更高的性能压力。此前预估如需要支持运费模板计算核心20国运费,方案中心集群qps需要达到6600,计算全量220国运费,集群qps则需要达到35600。但是优化前方案中心集群qps性能仅仅在1600左右,远远达不到要求,此前已经做了1.0的优化版本,qps提升40%,但是还达不到支撑计算20国运费的要求。2.0优化目标就是要达到足以支撑计算核心20国运费的要求。本篇文章主要是对2.0的优化中,所做的缓存设计的过程、方案、结果做一个总结。二、优化2.0面临什么问题
2.1 1.0优化做了什么
 

在1.0 的性能优化中,我们制定了降低CPU资源消耗、合理使用缓存资源等措施,整体集群性能提升在40%左右,qps集群压测能到2300,但这与目标6600还有差距。因此,针对复杂的查价流程,需要进一步在代码架构层面进行优化。1.0 已做优化措施

  • 降低CPU资源消耗


  • 规则引擎表达式预先编译并且缓存
  • 减少大对象深度复制,快递场景可以完全不复制
  • 避免通过JSON序列化,再反序列化实现创建对象并且赋值
  • 底层元数据查询方法,避免使用第三方封装的校验框架
  • 日志打印优化,debug添加isDebug判断


  • tair使用优化


  • mget替代tair get方法使用,降低网络资源消耗
 
2.2 计费流程的核心问题--嵌套循环查询
 

图 2.2-1 简化的计费流程<ul >匹配运力线方案 1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

何小豆儿在此

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表