我眼中的 性能劣化、优化的曲线_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 我眼中的 性能劣化、优化的曲线

我眼中的 性能劣化、优化的曲线

 2014/8/25 2:13:40    程序员俱乐部  我要评论(0)
  • 摘要:性能劣化随着代码写得越来越烂,程序运行时数据库操作更多、IO阻塞等待跟过、不必要的对象创建、GC回收更频繁,线程的上下文切换也更多,开销越来越多,所有因素综合起来,程序运行更慢,响应延迟加大。当到达临界点的时候,压垮骆驼的最后一根稻草出现了,系统直接崩溃。坏东西、副作用是会累积的。性能优化代码的实现一直保持良好,不断通过合并查询等措施减少数据库操作,通过优化SQL语句缩短了单次数据库操作的时间,通过更好的日志记录方式减少IO操作,减少IO阻塞等待的时间,进而又可以减少线程切换的次数
  • 标签:优化

性能劣化的图形

  性能劣化

  随着代码写得越来越烂,程序运行时数据库操作更多、IO 阻塞等待跟过、不必要的对象创建、GC 回收更频繁,线程的上下文切换也更多,开销越来越多,所有因素综合起来,程序运行更慢,响应延迟加大。

  当到达临界点的时候,压垮骆驼的最后一根稻草出现了,系统直接崩溃。

  坏东西、副作用是会累积的。

  性能优化

性能优化的图形

  代码的实现一直保持良好,不断通过合并查询等措施减少数据库操作,通过优化 SQL 语句缩短了单次数据库操作的时间,通过更好的日志记录方式减少 IO 操作,减少 IO 阻塞等待的时间,进而又可以减少线程切换的次数,通过避免不必要的对象创建,可以提升代码的执行速度,还可以减少 GC 的次数,种种优化效果综合起来的结果就是程序运行稳定,响应时间缩短。

  从业务实现的角度进行优化的效果是很明显的。

  当然,到达临界点之后,也就是没法从业务实现的方式上优化性能的时候,只能通过更底层、更细微的优化手段进行优化,比如 JVM 参数、系统参数调优等,这些措施带来的效果都是不怎么明显的。

  比如,业务实现减少一次数据库操作,至少可以减少 10ms 的延迟,但要在更底层的地方得到 10ms 的优化效果应该是很困难的。

  正面的作用也是可以累积的,只不过幅度是很缓慢的,且达到一定程度就很难再继续提升了。

  作为开发人员,应该重视每一个细节。

发表评论
用户名: 匿名