`
javaroad
  • 浏览: 21530 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

项目中的性能优化

 
阅读更多

      在实际项目中,由于需要把接口返回来的对象存在数据库中,所以用到了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左右。


分享到:
评论

相关推荐

    大型项目MySQL性能优化实例

    大型项目中,MySQL数据库性能优化是保证业务流畅、数据安全、系统稳定的重要手段。本文针对一个拥有两亿注册用户的大型移动项目,从MySQL体系架构、设计优化、系统优化、配置优化和语句优化五个方面进行详细解析。 ...

    web项目性能优化

    关于web项目的优化,解决我们项目开发中数据量和访问量太大的问题,使我们的项目更加的健壮漂亮

    用Valgrind和GDB进行C-C++项目的性能优化与调试.md

    如何使用 Valgrind 和 GDB 进行 C/C++ 项目的性能优化与调试。首先,Valgrind 是一套强大的动态分析工具集,可检测内存泄漏、非法内存访问和数据竞争等问题;其中,Memcheck、Massif 和 Cachegrind 是常用工具,用于...

    阿里巴巴Java性能调优实战(2021-2022华山版)+Java架构核心宝典+性能优化手册100技巧.rar

    但是在项目的开始阶段,没有必要过早地介入性能优化,只需在编码的时候保证其优秀、高效,以及良好的程序设计。 在完成项目后,就可以进行系统测试了,可以将以下性能指标,作为性能调优的标准,响应时间、吞吐量、...

    CSAPP性能优化实验

    《CSAPP性能优化实验》是计算机科学与应用(Computer Science and Application Programming)课程的一个实践环节,旨在提升学生对程序性能优化的理解与技能。在这个实验中,我将详细探讨三个关键的优化策略,并结合...

    C++高效编程:内存与性能优化(pdf版)

    本书深入探讨了如何在C++编程中高效地使用内存资源,以及如何进行性能优化,以编写出既高效又优雅的代码。 书籍作者Rene Alexander和Graham Bensley均拥有十几年的软件开发经验,他们曾为多个不同的公司和项目提供...

    asp.net应用程序性能优化

    ASP.NET应用程序性能优化是开发高效、流畅Web应用的关键环节,特别是在使用Visual Studio 2005这样的强大开发工具时。本主题将深入探讨如何通过多种策略提升ASP.NET应用的性能,确保用户获得最佳的在线体验。 首先...

    嵌入式LINUX内存使用与性能优化

    , 关于系统性能优化,《嵌入式Linux内存使用与性能优化》不同于同类书侧重于编程语法或者发挥硬件性能的做法,而是着眼于大型软件项目性能优化实践,阐明了逻辑优化与代码优化之间的辩证关系,提出了软件优化层次的...

    vue项目性能优化方案

    vue项目性能优化方案

    TongWeb5.0 性能优化配置.pdf

    TongWeb5.0性能优化配置是一个多方面的工程,涵盖了从JNDI和JDBC连接池的创建与优化,到项目配置、JVM参数、日志级别以及线程数的调整。这些步骤虽然需要一定的技术知识和操作经验,但通过细心配置和优化,能够显著...

    项目性能优化最详细教程指南.docx

    本文将从项目性能优化的终极目标出发,探讨性能问题分析、系统性能优化、应用性能调优以及压力测试等关键知识点,力求为读者提供一套完整、系统的性能优化指南。 首先,我们必须明确性能优化的终极目标,即优化用户...

    eclipse开发性能优化、java代码性能优化

    ### Eclipse 开发性能优化与 Java 代码性能优化 在日常的软件开发过程中,尤其是在使用 Eclipse 进行 Android 开发时,经常会遇到 IDE 运行缓慢的情况。为了提高开发效率,本文将详细介绍 Eclipse 开发环境及 Java ...

    C++性能优化英文版

    本书涵盖了C++性能优化的关键概念和技术,适合于希望提高技术水平或在工作中寻求性能提升方案的开发者。 #### 二、版权与出版信息 - **版权信息**:该书版权归Kurt Guntheroth所有,版权所有,未经许可不得复制。 -...

    Unity引擎开发:优化与性能分析-(10).网络性能优化.docxUnity引擎开发:优化与性能分析-(11).移动端性能优化.docxUnity引擎开发:优化与性能分析-(12).平台特定优化

    最佳实践:Unity项目性能优化流程.docx Unity引擎开发:优化与性能分析_(1).Unity引擎基础架构与性能优化原理.docx Unity引擎开发:优化与性能分析_(2).内存管理与泄漏检测.docx Unity引擎开发:优化与性能分析_...

    大型项目MySQL性能优化实例.pdf

    在处理大型项目时,数据库的性能优化至关重要,尤其是像MySQL这样的关系型数据库管理系统,需要优化的方面包括体系结构、设计、系统、配置以及查询语句。本实例分析了一份大型移动项目的MySQL数据库性能优化过程,...

    Web 前端性能优化思路与学习方法

    本篇内容将深入探讨Web前端性能优化的思路与学习方法,结合WebQQ、QQ互联、QQ商家等大型项目研发中的实践经验,提供一套系统的优化框架。 首先,前端性能优化可以从以下几个层面展开: 1. 网络层面优化:优化网络...

    Java项目如何进行性能优化

    Java项目性能优化是一个涵盖多个层面和技术细节的复杂过程,旨在提升用户体验、提高系统效率和稳定性。性能优化的目标不仅仅是追求速度,而是通过优化产品设计和技术实现,确保系统在各种条件下的快速响应和高效运行...

Global site tag (gtag.js) - Google Analytics