性能优化

从第1版起,核心的投标引擎基本没有动,运行几十天也都正常。正好其他事情差不多了,想着再优化优化。我对比了本地和服务器的数据,以抓取概略标的为例,本地平均时间是220ms左右,服务器是120ms左右,快一些很正常。

后面,我基本就以本地数据为主,服务器肯定会快一些。

对引擎而言,主要工作就这些:抓概略标的——抓详细标的——比较投标——其他辅助处理。

本地概略标的每次耗时220ms,优化余地不大。

详细标的每次耗时500-600ms,最重要的耗费还是以http方式抓数据,但接口就是如此,要提高很难。

比较:0.4-2.8ms,相比之下是比较少的

投标:不是固定的耗费,用户多的话可以再优化,目前必要性不大。

本以为详细数据是问题关键,分析半天也没有太好的办法。最后发现,其实还有一个真正的“硕鼠”,就是其他辅助信息的获取。定期获取用户资金,我还追踪了满标的时间,计算每次的耗费,居然达到秒级!

发现问题,解决就很简单了,把用户数据更新的频率和次数优化,把满标时间分离到另外一个程序中,结果就大大改进了。原来统计,用于抓概略标的的CPU时间是最多的(因为详细标的并不常有),稳定后,服务器上这个时间占比能够到47%,也就是说,一半时间都在抓标。

优化之后,这个比例达到85%以上,换言之,几乎所有的时间都在跟踪标的,把对标的的反应间隔尽可能缩到最小。感觉对于满标极快的标的,抓的成功率高多了。这是最近投标的满标时间:

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

How-Old.net背后的那些事

为了展现开发者在Azure的帮助下能轻松迅速地打造智能应用,我们在Azure上用新发布的人脸识别APIs为2015年微软开发者大会的第二天展示搭建了How-Ol...

1845
来自专栏owent

2016年总结

又好久没写blog啦。诶最近好懒啊。正好过年在家里有点空,写完我那些lib的patch之后还有一点时间写一下2016年的总结吧。

1383
来自专栏JAVA高级架构

Java程序员体系化学习路线图,值得拥有!

993
来自专栏Cloud Native - 产品级敏捷

微服务架构设计 第二步: 分析微服务的边界上下文 (Bounded Context)

2016.9.10, 深圳, Ken Fang 当特性负责人, 将特性的所有业务活动均分析出, 其各自的基本流, 扩展流与异常流之后, 特性负责人便可经由组合基...

2089
来自专栏架构师之路

Java体系化学习路线图,带走不谢!

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。

1436
来自专栏IT派

Java体系化高级学习路线图,拿走不谢!

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。

933
来自专栏互扯程序

Java架构体系学习路线图,第6点尤为重要!

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。

1413
来自专栏Java学习123

全栈工程师的思考

3578
来自专栏SDNLAB

云数据中心网络运维的苦与乐

前几年大家讲 SDN 比较多的是怎样利用控制器,像 OpenDayLight、ONOS 这些东西,其实在讲怎样做一个 Driver、怎样做控制。大概从去年开始,...

4507
来自专栏SAP最佳业务实践

从SAP最佳业务实践看企业管理(15)-CRM-活动管理

针对不同销售阶段、不同角色的任务的执行,通过活动管理来体现 C65 活动管理 本文介绍了用于创建活动和任务的 CRM 活动管理业务情景。 本文逐步向您展示了活...

3214

扫码关注云+社区

领取腾讯云代金券