java性能优化笔记(一)概述
admin
2023-06-06 03:41:38
0

性能参考指标:

  • 执行时间: 程序从开始到结束的执行时间。

  • CPU时间: 函数或者线程占用的cpu时间。

  • 内存分配: 程序运行期间所占内存。

  • 磁盘吞吐量: 硬盘I/O使用情况。

  • 网络吞吐量: 网络使用情况。

  • 响应时间:用户行为做出的响应时间,越短性能越好。

短板原理:

一直木桶能装多少水取决于桶壁最短的那个木板。 
产生短板的资源有:

  • 磁盘I/O:很多应用大部分瓶颈在硬盘的I/O,硬盘比内存慢很多。如果等待磁盘读写完成会浪费大量CPU时间,拖累整个系统。

  • 网络请求:由于网络不稳定或拥塞控制等都会降低网络请求效率,如果等待网络请求结束或者超时时间设置过长会浪费大量CPU时间,拖累整个系统。

  • CPU:一些运算对CPU直接或者不间断占用很大,CPU密集型应用会在CPU上产生瓶颈。

  • 程序异常:对于java应用,异常产生构造异常栈并加以处理是很耗费资源的,高频率出现异常会拖垮整个系统。

  • 数据库:关系型数据库在存盘读盘操作(即磁盘I/O操作),更新索引、锁等待和竞争都会产生瓶颈。

  • 锁竞争:高并发应用线程之间互相锁的竞争,线程上下文切换都是很大的开销。

  • 内存:内存使用nand flash读写速度很快,但如果应用程序和操作系统把内存占满,会导致交换分区的使用,内存数据与硬盘交换分区交换数据会产生(即磁盘I/O)瓶颈。

上述瓶颈基本解决方案:

  • 磁盘I/O:使用NIO、零拷贝、mmap映射等技术,尽量异步读写硬盘,使用缓存和缓冲区技术。使用SSD硬盘,使用RAID技术提高写入性能。

  • 网络请求:CDN或PCDN加速、缓存、合并请求、压缩报文,尽量异步网络请求(消息队列服务、master-worker等),使用NIO。加大带宽、升级网卡。

  • CPU:持续优化代码,利用好多线程或多进程,设计合理架构,拆分业务,减少单机复杂运算,避免复杂运算和业务请求掺杂在一起。

  • 异常:处理好边界、缓冲区等,尤其需要注意避免出现NullPointException,测试时间大于开发时间减少bug出现几率。

  • 数据库:优化sql语句,注意执行计划,使用缓存代替数据库部分功能,根据情景使用合理的存储引擎,注意锁,使用连接池,使用PrepareStatment。

  • 锁竞争:尽量减少锁竞争,可以使用无锁的copy-on-write、重入锁等技术。

  • 内存:优化代码,分析内存占用情况,合理配置gc。增大物理内存。

Amdahl定律:

加速比公式:加速比=优化前耗时/优化后耗时 
Speedup ≤ 1/(F+(1-F)/N) 
- Speedup:加速比 
- F:串行化比重 
- N:CPU数量 
根据Amdahl定律,优化的效果取决于CPU数量以及系统中串行化程序比重,CPU数量越多,串行比越低,优化效果越好。

性能调优层次

  • 设计调优:对整体架构进行梳理,找出短板进行优化,适当使用设计模式和以往经验。详细进行系统设计。

  • 代码调优:熟悉基本API、第三方类库的原理,选择最适当和最优秀的算法,精简实现,面向接口。

  • JVM调优:熟悉jvm内存模型,字节码等深层技术,使用常用监控工具如:visualVM、Jconsole等。进行压测,调节gc和堆栈大小。

  • 数据库调优:对sql语句进行调优,分析执行计划,对数据库系统配置调优(缓冲区、共享区、连接池等),对数据库设计进行调优(冗余、索引、分库分表、读写分离等)

  • 操作系统调优:调节句柄数、关闭没用服务和端口、调节共享内存、调节交换分区大小等。

最后需要注意:不要因为优化而优化!


相关内容

热门资讯

美国特勤局:白宫附近枪击案嫌疑... 央视记者当地时间5月23日获悉,美国特勤局表示,当天白宫附近枪击案嫌疑人在医院死亡。美国特勤局表示,...
浙江宣传:年轻干部,不要怕普通 有没有那么一瞬间,你会觉得自己很普通,置身人潮人海中没有任何特别之处?其实,普通既是初入职场的年轻干...
Find My进入第三方时代:... 新闻引入 2026年1月,苹果发布AirTag 2代,精确查找范围提升50%、扬声器音量提升50%,...
精密散热行业的技术跃迁:从“被... 在功率密度持续攀升、热流密度逼近物理极限的行业节点,精密散热已经从一个“辅助性功能模块”演变为决定系...
湖南衡阳发生火灾致5死1伤 5月24日0时45分,衡阳市祁东县上正社区一商铺发生火灾,造成5人死亡,1人受轻微伤,伤者正在积极救...
警惕!澳大利亚密集加码关键矿产... 5月18日,澳大利亚以“国家安全”为由,向北方矿业公司6名与中国有关联的股东发出强制出售令,要求在1...
AI行情狂热,三星电子未成年股... 近段时间,AI行情再次成为全球资本市场主线,但舞台中央的“主角”发生了变化:投资者不再只偏好云厂商和...
俄称乌无人机袭击卢甘斯克一学校... 当地时间5月23日,据俄罗斯紧急情况部通报称,遭乌方袭击的斯塔罗比尔斯克职业学院死亡人数升至21人,...
美加州故障化学品储罐持续升温,... 新华社洛杉矶5月23日电(记者高山 谭晶晶)美国加利福尼亚州南部奥兰治县官员23日说,当地21日开始...
真实感,AI时代写作的生命力所... AI时代,对于许多人来说,因为有了各种智能工具的加持,写作似乎变得容易了。通过提出命题、投喂内容,无...