1. 分析C P U和I / O性能增益的影响
举一个例子,假如包括所有处理器操作和I / O操作在内,一个进程在当前的系统上运行需要花费1 0秒钟。详细分析这个进程的执行情况,结果是5秒钟花费在处理器的操作上,5秒钟花费在I / O操作上。换言之,处理器和I / O操作是错开进行的,它们之间没有重叠。
现在,我们在系统上安装一个新的处理器,它的运行速度是原处理器的4倍,那么,所期望的性能增益是多少呢?这个新的处理器完成该进程的时间是原来的1 / 4,即1 . 2 5秒,即由于处理器的升级,节约了3 . 7 5秒的时间。但如果处理器的速度不受内存速度和其他因素的限制,那么,性能的改善理应也是4倍。
当我们考虑到升级以后的I / O时,就能认识到,处理器并不保证给I / O处理带来任何性能的改善。事实上,从过去所做的分析中可以看出,当I / O操作正在进行时,处理器却处于空闲状态。这表明处理器的升级没有给系统的I / O性能带来改善。因此,可以认为I / O的时间节省是0,即I / O 仍然花费5秒时间。
将I / O操作所花费的时间和处理所花费的时间相加,可以得到:
新进程时间= 改善的处理器性能+ I/O 性能,或1.25 + 5 = 6.25
所以,当计算相对的性能提高时,可以得到:
原来进程时间/新进程的时间= 10/6.25 = 1.6倍改善
虽然1 . 6倍的性能增加可能也是值得的,但与所希望的4倍还是相差甚远。
现在,让我们假设使用新的I / O技术的情况,如磁盘缓存,这使I / O性能提高一倍,所以I / O 部分的完成时间是2 . 5秒。现在为了完成这个进程所花费的总时间是3 . 7 5秒,那么,对于这个进程来说,整个系统性能增加为:
原来进程时间/新进程时间= 10/3.75 = 2.7倍改善
这就更靠近了希望的结果。
现在,让我们再做一次分析,但这次假定处理器的升级使I / O性能也提高了2 5 %,使I / O组件3 . 7 5秒就完成了操作。如果没有其他的I / O性能增加,那么,现在用来运行这个进程的时间是1 . 2 5秒加上3 . 7 5秒,即5秒。因此,总的性能提高是:
原来进程时间/新进程时间= 10/5.0 = 2倍改善
最后,假设将诸如磁盘缓冲这种I / O加速技术用于这个进程,它将I / O处理时间再减少一半,即1 . 8 8秒。现在,完成这个进程将花费1 . 2 5秒加1 . 8 8秒,即3 . 1 3秒。这种情况下整个性能增益为:
原来进程时间/新进程时间= 10/3.13 = 3.2倍改善
通过上述的例子,很清楚地看出,推进I / O性能对于整体的系统性能有很大的影响。这不是精确的火箭科学,却常常为大部分忙碌的网络管理员所忽视。