WebSphere Commerce 生产环境性能管理
以 WebSphere Commerce 为核心的电子商务网站是由多种软硬件产品共同组成的复杂系统。为了保证系统 健康地运行,运维团队需要对整个网站做全面的性能监控,并且采取必要的主动措施以保持系统性能。本文将 介绍一些 WebSphere Commerce 电子商务网站性能监控和性能维护的最佳实践。
WebSphere Commerce 电子商务网站的性能监控
性能监控就是通过各种监控工具了解当前应用系统运行的状况,发现已经存在的性能问题或者可能导致性 能问题的潜在危险。性能监控工具本身作为运行的软件也会占用系统资源,因此在选用监控工具时,要选择对 系统影响较小的工具,并设置合适的监控级别和采样周期,以保证既不影响应用系统的运行,又能为分析性能 问题提供足够的数据。WebSphere Commerce 电子商务网站的性能监控根据其所监控的对象可以分为:操作系 统监控、Web 服务器监控、WebSphere 应用服务器监控和数据库服务器监控等。
操作系统监控
操作系统资源是各种应用软件运行的基础,系统资源不足会严重影响应用软件的性能,在生产系统运行期 间要时刻关注系统资源的使用情况。应用软件在运行时,通常都要使用 CPU,内存和 I/O 资源,这三种资源 也是操作系统资源监控的重点。
CPU 的主要功能是解释计算机指令以及处理计算机软件中的数据。CPU 有 4 种运行状态:System、User 、Wait 和 Idle。System 状态是指 CPU 在执行操作系统的内核代码,User 状态是指 CPU 在执行程序代码, Wait 状态时 CPU 在等待 I/O 操作,而 Idle 状态时 CPU 处于空闲状态。电子商务网站运行时,服务器总的 CPU 占用率不宜超过 50%~70%,如果 CPU 总体使用率过高,则用户体验到的页面打开时间可能受到影响。而 在各种运行状态中,正常时应当是执行程序代码的 User 状态占比较高。如果 System 状态占用率较高,说明 系统进程的工作比较繁忙,如果 Wait 占用率太高,则说明系统经常处于 I/O 等待状态,这两种状态预示着 系统可能发生了某种异常。
内存用来存储 CPU 处理的临时数据和程序指令,起到缓冲和数据交换作用。一般地,应用服务器和数据库 服务器都要配有充足的物理内存,并结合物理内盘的大小合理的设置 JAVA 虚拟机和数据库服务器的最大内存 使用参数,以避免使用磁盘上的虚拟内存空间而引起性能下降。需要注意的是,操作系统会将一部分的物理内 存空间用于文件缓存,所以不能简单地将内存占用率接近 100% 就认为内存使用出现了问题,而应当重点关注 物理内存和虚拟内存的交换情况,如果交换的频率过高,则预示着可能出现了性能问题。
I/O 即系统的输入输出,包括应用程序对磁盘的读写、网络传输及对其他外设的读写等。磁盘 I/O 反映 了服务器读写磁盘数据、写日志等行为。网络 I/O 反映接收请求、提供响应以及读写网络资源(如远程数据 库)的行为。I/O 监控要同时关注 I/O 数据量和 I/O 次数,在同等大小的 I/O 数据量条件下,过于频繁的 I/O 次数,也可能导致 I/O 资源耗尽,成为系统的瓶颈。如在监控磁盘 I/O 时,disk busy 就是一个需要关 注的重要指标。
nmon 是一种 IBM 提供的监控分析 AIX 和 Linux 操作系统资源使用的利器。在 V6 以后版本的 AIX 操作 系统已经默认安装了 nmon 工具,推荐使用操作系统自带的 nmon 监控操作系统资源使用。此外,IBM DeveloperWorks 上提供了多种操作系统的 nmon 工具、nmon 手册和 nmon_analyser 分析工具等丰富的资源 可供选用。
相对于其他的操作系统资源监控工具,nmon 记录的信息十分全面,并且提供了在交互模式 和数据收集两种监控模式,交互模式是在 nmon 的窗口中动态地观察监控信息的变化,常用于问题诊断;数据 收集模式则是将所有的监控信息写入日志文件中,稍后再用 nmon_analyser 分析,适合用于日常的系统监控 和历史趋势分析。nmon 可以监控的系统资源使用情况主要包括以下几方面的数据:
CPU 占用率
内存使用情况
内核统计信息和运行队列信息
磁盘 I/O 速度、传输和读 / 写比率
文件系统的使用率
磁盘适配器使用情况
网络 I/O 速度、传输和读 / 写比率、错误统计、网络传输包的大小
页面空间和页面 I/O 速度
消耗资源最多的进程
用户自定义的磁盘组
计算机详细信息和资源
异步 I/O,仅适用于 AIX
工作负载管理器(WLM),仅适用于 AIX
网络文件系统(NFS)