提升程序性能的实用方法与策略
在优化程序性能的过程中,有多种有效的工具和方法可供使用,下面将详细介绍几种常见且实用的技术。
序列图
序列图是一种用于展示对象之间交互顺序的图形,它能让我们更直观地看到响应时间。在序列图中,垂直线代表时间线,通常表示硬件或软件层。时间线上的矩形表示在该层执行的耗时指令序列。需求从左向右流动,供应从右向左流动。
例如,在处理薪资问题的序列图中,调度器启动 PYUGEN,PYUGEN 通过名为 SQL Net 的 Oracle 网络软件向其数据库发出调用。虽然图中显示 PYUGEN 仅通过 SQL Net 进行了两次数据库调用,但实际上代表了跟踪数据中约 100,000 次的往返调用。
快速绘制序列图可以帮助我们了解系统如何消耗时间。如果更细致地处理,比如按矩形代表的时间消耗比例缩放其高度,能让我们更清楚时间的去向,而这些信息可以通过跟踪获得。
甘特图
甘特图是一种条形图,可帮助我们找出时间浪费的地方。有一个客户遇到了夜间批量处理问题,每天午夜启动的大作业原本用于总结前一天的数据并为上午 8 点的业务做准备,但作业耗时越来越长,现在要运行到 8 点 30 分,导致客户因系统未能在 8 点准时准备好而支付罚款。
为了了解这些复杂的夜间流程如何消耗客户的时间,我们使用了甘特图。在甘特图中,时间从左向右流动,条形代表正在进行的工作,连接线代表依赖关系。通过甘特图,我们发现数据库在加载数据和处理加载数据之间存在时间间隙,这引发了我们的疑问:为什么数据库在这段时间不忙碌?经过分析,发现问题出在应用程序而非数据库,解决这个问题后,作业时长缩短了三个多小时,几天后
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



