性能优化
文章平均质量分 80
性能调优相关工具使用及经验分享
伯牙碎琴
知识搬运工,搬着搬着就熟了,不是熟悉的熟是成熟的熟o(╥﹏╥)o
展开
-
性能优化的十种手段(下篇)
以ROI的视角看软件开发,初期人力成本的投入,后期的维护成本,计算资源的费用等等,选一个合适的方案而不是一个性能最高的方案。本篇结合个人经验总结了常见的性能优化手段,这些手段只是冰山一角。在初期就设计实现出一个完美的高性能系统是不可能的,随着软件的迭代和体量的增大,利用压测,各种工具(profiling,vmstat,iostat,netstat),以及监控手段,逐步找到系统的瓶颈,因地制宜地选择优化手段才是正道。有利必有弊,得到一些必然会失去一些,有一些手段要慎用。转载 2022-11-24 09:36:42 · 180 阅读 · 0 评论 -
性能优化的十种手段(中篇)
上一篇,我们总结了六种普适的性能优化方法,包括 索引、压缩、缓存、预取、削峰填谷、批量处理,简单讲解了每种技术手段的原理和实际应用。在开启最后一篇前,我们先需要搞清楚:在程序运行期间,时间和空间都耗在哪里了?人眨一次眼大约100毫秒,而现代1核CPU在一眨眼的功夫就可以执行数亿条指令。现代的CPU已经非常厉害了,频率已经达到了GHz级别,也就是每秒数十亿个指令周期。即使一些CPU指令需要多个时钟周期,但由于有流水线机制的存在,平均下来大约每个时钟周期能执行1条指令,比如一个3GHz频率的CPU核心,每秒大概转载 2022-11-24 09:29:53 · 241 阅读 · 0 评论 -
性能优化的十种手段(上篇)
关于性能方面,就像建筑设计成抗震9度需要额外的成本一样,高性能软件系统也意味着更高的实现成本,有时候与其他质量属性甚至会冲突,比如安全性、可扩展性、可观测性等等。主键是很多数据库非常重要的索引,尤其是MySQL这样的RDBMS会经常面临这个难题:是用自增长的ID还是随机的UUID做主键?举一个视频网站的例子,如果不对视频做任何压缩编码,因为带宽有限,巨大的数据量在网络传输的耗时会比编码压缩的耗时多得多。常见的缓存,就有多种多样的形式:从廉价的磁盘到昂贵的CPU高速缓存,最终目的都是用来换取宝贵的时间。转载 2022-11-24 09:27:19 · 222 阅读 · 0 评论 -
SpringBoot+@Async注解一起用,速度提升100倍
异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;主程序在异步调用之后,主程序并不会理会这三个函数是否执行完成了,由于没有其他需要执行的内容,所以程序就自动结束了,导致了不完整或是没有输出任务相关内容的情况。上述的同步调用虽然顺利的执行完了三个任务,但是可以看到执行时间比较长,若这三个任务本身之间不存在依赖关系,可以并发执行的话,同步调用在执行效率方面就比较差,可以考虑通过异步调用的方式来并发执行。完成任务一,耗时:4256毫秒。转载 2022-09-05 09:45:37 · 127 阅读 · 0 评论 -
CXF 性能调优
1、 启用FastInfoset(快速信息集)webservice的性能实在是不敢恭维。曾经因为webservice吞吐量上不去,对webservice进行了一些性能方面的优化,采用了FastInfoset,效果很明显,极端条件下的大数据量传输,性能提高60%,他可以减少传输成本,序列化成本和xml解析成本。Cxf提供了FastInfoset协商机制,实现类见org.apache.cxf转载 2015-02-06 17:22:47 · 2183 阅读 · 0 评论 -
JProfilter使用记录
JProfiler 内存分析 内存优化原创 2022-03-17 18:14:34 · 1075 阅读 · 0 评论