性能调试---(一)性能分析准则

来源:互联网 发布:开淘宝店怎么弄 编辑:程序博客网 时间:2024/05/29 17:03
UNIX中文宝库    http://www.douzhe.com 

2005年04月05日   作者:   转自:    点击: 1698 
1:系统性能管理 
2:系统管理员的使命 
3:资源与瓶颈 
4:影响系统性能的因素 
5:系统性能调试的一般原则 

系统性能管理 

要对系统进行性能分析和调试,其前提条件是知道好的性能是什么含义,一般我们可以从以下两个角度来衡量系统性能状态: 

1)响应时间(Response Time) 
从用户的角度来看,系统处于良好的性能状态是指系统能够快速响应用户的请求,即系统响应时间短。 
具体地说,响应时间是指发出请求的时刻到用户的请求的相应结果返回用户的时间间隔。 

2)吞吐量(Throughput) 
从系统管理员角度来看,系统的吞吐量成为系统处于良好的性能状态的指标。 
具体地说,吞吐量是在给定时间段内系统完成的交易数量。即系统的吞吐量越大,说明系统在单位时间内完成的用户或系统请求越多, 系统的资源得到充分利用。 

系统管理员的使命 

一般地,系统管理员的主要功能为: 

Making the system available to others 
Monitoring the usage of the system 
Maintaining a certain level of performance 
Planning for future processing needs 


资源与瓶颈 


要使系统处于良好性能状态,就必须让所有的系统资源协调工作。 

1)系统资源(System Resource) 
计算机组成十分复杂,但关键的系统资源不外如下这些: 

CPU 
内存 
磁盘 
输入输出,尤其是网络和串行通信 
2)瓶颈(Bottleneck) 

在计算机的众多资源中,由于系统配置的原因,某种资源成为系统性能的瓶颈是很自然的事情。 
当所有用户或系统请求对某种资源的需求超过它的可用数量范围时,我们称这种资源成为瓶颈。 
当系统出现瓶颈时,消除瓶颈是方法通常有两种: 
增加成为瓶颈的资源的数量; 
减少请求的数量; 


影响系统性能的因素 

应该说,影响系统性能的因素很多,但归纳起来主要有以下几个因素: 

硬件因素:CPU个数够不够?内存够不够?等等 
操作系统:操作系统的配置是否合理? 
应用软件:应用系统设计得如何; 
人的因素:操作人员是否有充分的培训,以完全懂得操作系统? 
经常性的变化因素:用户的需求是否经常性变化?用户对系统负载的要求是否经常性变化? 


系统性能调试的一般原则 


对系统进行性能调试必须遵循一定的原则,这些原则都经验丰富的工作师经过多年的实践总结出来的。 

性能调试是一件严肃的事情,不要对系统的各种参数进行随意的改动; 
一次只对某个领域进行性能调试,例如对CPU的使用情况进行分析; 
每次只改动一个设置; 
每次对系统性能进行分析时,至少使用两种性能分析和调试工具; 
经验是最好的分析和调试工具; 
知道什么情况下该停止操作; 
一般地,我们有以下四条性能调试的规则: 

1)当你回答一个关于计算机系统性能的问题时,最初的回答总是“可能吧,视具体情况而定(It depends)”。 

当然这个回答不会让用户满意的,因此,我们必须进一步可能对系统性能产生影响的各种因素进行分析, 它们所有作用是什么,起多大的作用。 

2)性能分析和调试总是存在着折衷。 

当系统管理员试图对计算机系统的性能进行调整时,们可能需要修改系统参数,或修改应用。然而,性能调试 不存在唯一回答或最优答案。 

比如:tuning to improve memory utilization may degrade file system performance;Choosing RAID disk comfigurations for data integrity may be less expersive than altternative mirroring solutions that often improve performance.It is may be more cost-effective to purchase a CPU upgrade rather than spend days or weeks analyzing how the application could be changed to improve performance. 

3)在分析系统性能的同时,系统性能将会受到影响。 

由于在进行系统性能分析时,性能分析工具本身将会占用一定的系统资源,如CPU资源、内存资源等等。我们必须注意到这点, 即分析工具本身运行可能会导致系统某方面的资源瓶颈情况更加严重。 

4)只用一种工具是无法全面、正确地分析出系统的资源瓶颈所在。