扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
现代服务器性能的监控包括服务器环境的采样、对进程的监控等。目前已经有完备的工具包来对整个环境进行实时监测,并提供完整的日志文件。
服务器环境采样
拿用户在存储区域网络(SAN)环境下磁盘阵列上定义文件系统时所需的硬件作为例子,来说明服务器环境中的采样问题。在服务器机房中,这些硬件包含许多部分,最简单的形式就是文件系统定义在磁盘阵列或一系列磁盘阵列的多个物理磁盘上。对于主机而言,文件系统的磁盘可能以三种方式存在:通过主机与磁盘阵列或多个磁盘阵列互连;磁盘阵列本身;以及磁盘片段(或磁盘阵列定义的条带),而在主机看来,它就是一个物理设备单元。从主机的角度来看,我们所用到的物理组件很可能就是条带集中的组件。该组件指的通常就是到达物理磁盘单元的路径,但有些系统使用多路径驱动,这又会使问题变得更加复杂。多数监控工具都可以看到一个完整的文件系统或单个的磁盘,但很少有工具能够显示该文件系统和用于构建该文件系统的各组件所具备的性能。
对于一块磁盘而言,最有用的监控项目就是平均服务时间。信道路径中出现的间歇性错误可能是由于SCSI接头松脱、光缆扭曲、缓存意外关闭而引起。另外还有可能出现数量众多的存储区域网络或光纤交换机问题。这些问题通常的表现形式是服务时间中测量到的磁盘延迟时间变长。目前市场上可用的此类产品包括RICHPse SymbEL工具zoom.se。工程师可以利用它来查找物理磁盘中的问题。用户也可以编写一些额外的RICHPse脚本,帮助改善性能工具中定义条带集的能力。RICHPse的安装包中已经提供了一些基本的功能,可以实现字节读/写的测量,而且可以用于对元设备及其物理磁盘组件进行服务时间测量。Veritas和DiskSuite等基于主机的条带管理软件都可以查看上述的内容。这些脚本可以使用户有能力选择某个条带中所有的单个组件,并且查看其读/写和服务时间。同时还能将数据以时间系列的格式表现出来,这就使用户可以更容易地查找性能异常的情况。
通过对“搜索跨条带集的磁盘组件”事件进行分析,我们可以在任何时间、任何地点查找出此类症状。具备这种功能的工具集使用户能够对条带集或磁盘阵列进行建模分析。用户可能需要检查信道拓扑结构,对负载平衡或两个条带集,找出阵列或存储区域网络拓扑结构中物理设备互动情况。随着人们定义越来越多的此类拓扑结构,通用的服务器机房磁盘阵列和存储区域网络工具将会得到不断的发展,同时这种发展也将会导致性能分析工具的同步发展。
服务器环境中的进程
下图所示的线程在实时数据库中与其他数百个重型和轻型线程同时运行,就像许多应用一样,在每个工作日时,它们都有一个峰值运行时间。由于需要为服务器群中的另外一个数据库环境编制数据库更新,这个线程对数据库状态和输入的数据进行了检查,而与此同时,还有数百个线程也在该数据库服务器上计算某个特定的数据类别。更新是在本地数据库环境中执行的,而且更新被编制成队列,并以广播的方式发送给另外几台数据库服务器。由于用户在执行运行更新的线程时会出现持续的峰值活动,因此这种现象便成为人们关注的焦点之一。对于正处于进程更新状态下的服务器来说,问题的关键就是文件系统的磁盘出现了服务时间延长的现象。而且从图表上来分析,阵列的I/O速率也发生了较大的变化。状态良好的服务器所呈现出来的是平滑的图表,而出现问题的服务器图表则表现出巨大的波动。当后台磁盘阵列将缓存转存到物理介质的速度跟不上磁盘阵列缓存更新的速度时,磁盘阵列的波动便会发生。当达到高临界值时,磁盘阵列的CPU会停止来自服务器的I/O请求,并将缓存中的I/O区块转存到物理介质中,直至达到低临界值的水平。接下来又对接触文件系统的线程所具备的I/O速率进行了研究,发现许多更新进程都会将自己的进度检查点写入磁盘,当系统非常忙碌时,检查活动更多,最终便会导致磁盘阵列缓存中留下大量的脏页面。当磁盘阵列缓存溢出后,许多进程的速度都会降下来。
解决的方法是重新设计更新线程的检查点逻辑。其中的一种方法是将事件数量型的检查点触发机制改成时间间隔型的检查点触发机制。另一种方法是取消一些检查点数据。随着总体数据库环境的发展,全局数据库检查点和具有resync的重启已经变得更为强健,因此本地进程检查点逻辑,这种已经有15年历史的老式应用也就不再是什么必不可少的东西了。但要实现这种方法,两个服务器磁盘阵列必须都具有高精度的解析信息。
典型大型服务器群的当前状态是,各种资源通常都位于不同的地点,有时甚至是遍布全球的。上图描述的便是这种典型的商用服务器群。图中最上面显示的是远程使用的工作站。还有一台用于“源代码NFS和compile&link”的本地服务器,以及用于核心文件和性能日志的磁盘空间。这些内容都归纳在支持服务器框图中。每个服务器群中的LogHost服务器都用于存储每一台服务器的性能事件数据。管理员通常管理LogHost并且对这些数据的访问权限加以控制。这对于管理事件跟踪来说是非常重要的,而且必须确保只有适当的人员才可以得到这些数据,并对性能事件做出解析。在一个安全的环境中,LogHost服务器允许支持人员访问核心文件和日志,而且无须使用服务器局域网。
目前,已经出现了一种具备完整特性的工具包——PurSoft Analyst,能够满足工程师们在各种操作环境下的广泛需求。该工具包具备所有的性能监视能力,其中既包括实时线程,也包括磁盘日志文件。图形用户界面能够以文本表格的方式显示数据,而且允许用户对数据进行配置。另外,图形用户界面也可以利用图形方式显示出时间系列。用户能够对特定的自选数据项目进行表达和检查。在该工具包中,有一种主要的组件就是CLI(命令行界面)式的日志二进制机制,可通过远程方式运行在任何一台服务器上。机器的所有计量数据都被日志记录下来以供分析之用。还有一项特性是进行检测图式的分析,帮助工程师找到取样Unix数据中超出用户定义范围的任何异常现象。这种检测图可以定义一个规则引擎,对计算机进行监视并在发生异常时及时报告。
展望未来,人工智能型的剖面测量已经使我们能够更容易地以实时方式探测到硬件或软件中存在的问题,而且可以更方便地解决问题,扫瞄进程数据,并确定到底是哪些进程发生了问题。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者