性能测试1 概述
性能测试是通过自动化的测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项指标进行测试。性能测试主要分为三个方面:客户端的测试,应用在网络上的性能测试和应用在服务器端的性能测试。
客户端
客户端的性能测试的目的是考察客户端的应用性能,测试的入口是客户端。主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接受的性能过程。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
网络端
应用在网络上性能的测试重点是利用成熟先进的自动化技术进行网络应用性能监控、网络应用性能分析和网络预测。
网络应用性能分析
网络应用性能分析的目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的。利用网络应用性能分析工具,发现应用瓶颈,探知应用在网络上运行时在每个阶段发生的应用行为,在应用线程级分析应用的问题。可以解决多种问题:客户端是否对数据库服务器运行了不必要的请求?当服务器从客户端接受了一个查询,应用服务器是否花费了不可接受的时间联系数据库服务器?
网络应用性能监控
在系统运行后,需要及时准确地了解网络上正在发生的事情;什么应用在运行,如何运行;多少PC正在访问LAN或WAN;哪些应用程序导致系统瓶颈或资源竞争,这时网络应用性能监控以及网络资源管理对系统的正常稳定运行是非常关键的。
网络预测
考虑到系统未来发展的扩展性,预测网络流量变化、网络结构变化对用户系统的影响非常重要。根据规划数据进行预测并及时提供网络性能预测数据。
服务端
对于应用在服务器上性能的测试,可以采用工具监控,也可以使用系统本身的监控命令。实施测试的目的是实现服务器设备、服务器操作系统、数据库系统、应用在服务器上性能的全面监控。
监控指标
平均负载:系统正常状态下,最后60秒同步进程的平均个数
冲突率:在以太网上监测到的每秒冲突数
进程/线程交换率:进程和线程之间每秒交换次数
PS :进程跟线程,简而言之一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序并发性高。另外进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
CPU利用率:CPU占用率
磁盘交换率:磁盘交换速率
接收错误率:接收以太网数据包时每秒错误数
包输入率:每秒输入的以太网数据包数目
中断速率:CPU每秒处理的中断数
输出包错误率:发送以太网数据包时每秒错误数
包输入率:每秒输出的以太网数据包数目
读入内存页速率:物理内存中每秒读入内存页的数目
写出内存页速率:每秒从物理内存中写到页文件中的内存页数
进程入交换率:交换区输入的进程数目
进程出交换率:交换区输出的进程数目
系统CPU利用率:系统的CPU占用率
用户CPU利用率:用户模式下的CPU占用率
磁盘阻塞:磁盘每秒阻塞的字节数