在实际项目中,由于需要把接口返回来的对象存在数据库中,所以用到了jackson组件把对象转成json后再保持到数据库中。由于每天处理的数据量太大,而业务对时间的要求非常严格,即使采用4台机器做分布式后,计算时间仍然在2——3个小时,于是性能优化提上了日程。
用jprofiler工具观察到性能主要在两个地方耗时比较多:1.tojson串转换,2.调用其他系统接口。
调用其他系统接口耗时占比在17%左右,tojson转换耗时占比在20%左右。经过小组讨论,决定采用memcached在运行计算之前就缓存数据。缓存命中率为83.4%的情况下,性能如下:
统计
|
未使用缓存
|
使用缓存
|
计算总耗时
|
39
分钟
|
34
分钟
|
单个接口耗时
(ms/
次)
|
38
|
12.9
|
接口
耗时总计
|
15
分钟
|
5
分钟
|
接口
调用次数
|
24002
|
24007
|
数据量
|
5000
|
5000
|
可见,调用接口性能提升2/3。
tojson串转换采用StringBuilder替换jackson的性能对比如下:
tojson
数据量10000,每个单个1400字节左右
,测试5次耗时(ms)情况如下
|
|
1
|
2
|
3
|
4
|
5
|
平均
|
jackson
|
1204
|
1183
|
1196
|
1202
|
1160
|
1189
|
new
StringBuilder
|
1060
|
941
|
912
|
997
|
1160
|
1014
|
new
StringBuilder(1600)
|
784
|
824
|
853
|
818
|
778
|
811.4
|
从对比中可以看到
StringBuilder的性能比jackson提高1/4左右。
分享到:
相关推荐
Java 项目性能优化
大型项目MySQL性能优化实例
关于web项目的优化,解决我们项目开发中数据量和访问量太大的问题,使我们的项目更加的健壮漂亮
但是在项目的开始阶段,没有必要过早地介入性能优化,只需在编码的时候保证其优秀、高效,以及良好的程序设计。 在完成项目后,就可以进行系统测试了,可以将以下性能指标,作为性能调优的标准,响应时间、吞吐量、...
河北安监项目性能优化解决方案,针对java编码,服务器
, 关于系统性能优化,《嵌入式Linux内存使用与性能优化》不同于同类书侧重于编程语法或者发挥硬件性能的做法,而是着眼于大型软件项目性能优化实践,阐明了逻辑优化与代码优化之间的辩证关系,提出了软件优化层次的...
vue项目性能优化方案
整理的前端项目性能优化方案,从如下几个方面进行性能优化: 一、网络及资源加载方面优化; 二、webpack打包工具构建优化; 三、代码及渲染优化; 四、特定页面加速优化;
负载均衡+性能优化+分布式网站安全大型分布式电商项目实战课程;负载均衡+性能优化+分布式网站安全大型分布式电商项目实战课程
asp.net开发性能优化基础项目仅供参考
01-性能优化的终极目标是什么? 用户体验 = 产品设计(非技术) + 系统性能 ≈ 系统性能 = 快? 应用性能是产品用户体验的基石,性能优化的终极目标是优化用户体验。当我们谈及性能,最直观能想到的一个词是“快”,哪...
天极传媒公司培训文档,PPT格式共30页左右,从编码习惯,规范到架构设计上对Java应用性能优化做了详细明确的讲解,初学者看了是受益匪浅的
你是否正打算优化hashCode()方法?是否想要绕开正则表达式?并行处理对算法复杂度没有影响。如果你的算法的时间复杂度为 O(nlogn),让算法在 c 个处理器上运行,事件复杂度仍然为 O(nlogn/c), 因为 c 只是算法中...
大型项目MySQL性能优化实例.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
1.CPU的计算能力 2.磁盘的读写能力 3.内存的读写能力 4.网络的读写能力
面试题必问的jvm性能优化相关,如何在实际项目中优化jvm,解决项目中性能问题。提升系统的稳定性,以及可维护性。
PWA在企业级项目中最佳性能优化实践
PWA在企业级项目中最佳性能优化实践.pdf
这是阿里工程师在某个技术会议所做的专题演讲的ppt文档,主要讲解阿里在面对大容量请求时的一些经验。感觉比较空泛,需具备一些实际经验者比较容易理解掌握,谨慎下载。