首页  ·  知识 ·  基础设施
服务器应用性能分析
邵雪原 牛兰敬    数据中心  编辑:dezai   图片来源:网络
如何处理服务器性能问题是系统管理员面临的一个比较有挑战性的任务。操作系统的内核往往经预先调节,以保证系统在各种负载状态下都有令^满意的可用性。因此,调整
1性能问题的相关概念

如何处理服务器性能问题是系统管理员面临的一个比较有挑战性的任务。操作系统的内核往往经预先调节,以保证系统在各种负载状态下都有令^满意的可用性。因此,调整控制页面调度系统和缓冲池的内核变量的方法,往往会导致降低了系统的整体性能,一般不推荐采用。对系统的调整,必须建立在充分了解内核相关知识、应用软件配置、系统运行环境,及必要训练的基础上,并经过试验及验证。

1.1控制系统性能的基本规则

1)不要使系统或者网络过载。一方面,系统或网络过载,会造成进程请求资源调用冲突:另一方面,进程的轮询本身就消耗了很大的系统资源。

2)收集并检查系统的历史信息。如果系统前一星期还性能良好,则检查最近对系统进行更改可能有助于问题的发现。应该准备好常规的基准资料,以备不时之需。

1.2影响系统性能的因素

系统性能表现在系统资源分配及共享的效率。显著影响系统性能的四种资源包括:

1)CPU时间;2)内存;3)硬盘I/O带宽;4)网络I/O带宽。

1.3性能问题的常用措施

1)确定系统有足够的内存。2)改正使用上的问题。3)考虑使用负载平衡网络设备,以资流量分散到若干系统。4)组织系统的磁盘和文件系统,以平衡负载,从而得到最大的I/O吞吐量。5)对于数据库等应用,可以利用多磁盘技术,如RAID,优化数据传输。6)监视网络,确保流量不会饱和,并且出错率低。7)配置内核,消除不必要的驱动程序和选项,并使用适当大小的表。8)配置内核、消除不必要的驱动程序和选项,并使用适当大小的表。9)识别系统上基本上不足以满足的需求。

2 TCP连接特征

2.1 TCP连接建立与终止的时间序列

TCP是面向连接的通讯协议。其中,建立连接(ESTABLISH):端与端间需要三个报文段,这个过程俗称三次握手。关闭连接(CLOSED):端对端问需要四个报文段。

2.2 TCP连接的定时器

对每个连接,TCP管理4个不同的定时器。

1)重传定时器—使用于当希望收到另一端的确认。首次分组传输与复位信号传输之间的时间差约为9分钟,该时间由tcp—ip_abort_interval变量控制。

2)坚持定时器—PersistTimer使窗口大小信息保持不断流动,即使另—端关闭了其接收窗口。

3)保活定时器——Keepalive Timer,可检测到—个空闲连接的另一端何时崩溃或重启。许多时候—个服务器希望知道客户主机是否崩溃并关机或者崩溃又重新启动。许多TCP实现提供的保活定时器可以提供这种能力。

4)2MSL定时器—测量—个连接处于TIME-WAIT状态的时间。

2.3 TCP服务器的设计&呼入请求队列

TCP连接通常是由客户端发起的,这样第一个SYN从客户传到服务器。每一端都能主动关闭这个连接(即首先发送FIN)。然而,一般由客户端决定何时终止连接,因为客户进程通常由用户交互控制,用户会键入诸如“quit”—样的命令来终IE进程。

大多数的TCP服务器进程是并发的。当一个新的连接请求到达服务器时,服务器接受这个请求,并调用—个新进程来处理这个新的客户请求。不同的操作系统使用不同的技术来调用新的服务器进程。在Uni*系统下,常用的技术是使用fork函数来创建新的进程。如果系统支持,也可使用轻型进程,即线程(Thread)。

呼入连接请求队列:一个并发服务器调用一个新的进程来处理每个客户请求,因此处于被动连接请求的服务器应该始终准备处理下一个呼入的连接请求。那正是使用并发服务器的根本原因。

但是,当服务器正处于忙时,TCP是如何处理这些呼入的连接请求?可能的情况:

1)有可能出现当服务器在创建—个新的进程时,到达新的连接请求。

2)操作系统正忙于处理优先级更高的进程时,到达多个连接请求。如果应用层不能及时接受已被TCP接受的连接,这些连接可能占满整个连接队列,客户的主动打开最终将超时。

2.4 HTTP协议应用的性能问题

HTTP是—个简单的协议。客户程序与服务器建立一个TCP连接,发送请求并读回服务器的响应。服务器通过关闭连接来指示它的响应结束。客户请求是简单的ASCII文本,服务器的响应也是以ASCII文本开始(首部),后面跟着数据(可以是ASCII或二进制数据)。

1)影响交互式用户响应时间的最大因素是HTTP协议中使用的TCP连接HTTP带来的最大的性能问题是每个文件使用一条TCP连接。面向字节的TCP数据流与面向报文的HTTP服务不匹配。

2)客户与服务器之间的RTT和服务器的负载是影响响应时间的其他因素连接建立较慢增加了时延。连接建立时间主要取决于客户请求报文和服务器的MSS通告报文。

3)HTTP连接由服务器关闭和其它通用Internete服务,如Telnete服务或FTP服务不同,HTTP连接通常由服务器关闭,服务器经过TIME-WAIT时延后关闭连接,导致在繁忙的服务器上许多控制块停留在该状态。

3系统性能检查

大多数性能分析工具给出的是某个时间点上的状态。但是,负载的数量或特性会随时间的推移而变化,有关系统性能的准确信息,必须经过长期的数据采集才能体现。因此,在采取措施之前,应保证采集了代表性的数据。

本节针对各种性能指标,就可用的命令行检查工具,结合具体示例分别予以说明。

CPU使用情况检查:与CPU相关的三种性能数据是:1)CPU总体占用率。2)平均负载。3)每个进程的CPU占用率。

CPU总体占用率有助于辨别系统中CPU的运行速度是否是系统的性能瓶颈:平均负载让我们对系统的总体性能有一个印象;通过观察每个进程的CPU占用率数据,可以识别占用系统资源过多的进程。

4总结

通常在服务器应用性能分析时,要看具体业务应用方式;如FTP服务注重于磁盘I/O性能调优及CPU的使用上,WEB服务要注重网络连接数、每个连携肖化的内存资源使用和释放、以及连接最大时长:根据各种应用的不同而分别对待,重要的是可通过以上各种手段抓住业务应用高峰期的特征,做到有的放矢、对症下药的性能调优工作。

本文作者:邵雪原 牛兰敬 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的