从事性能测试多年,以下是我的一些认识:

  1、 性能测试的目的:通过测试确认软件是否满足产品的性能需求,同时发现系统中存在的性能瓶颈,起到优化系统的目的。

  2、 性能测试指标的来源:测试的依据是产品的需求规格说明书;如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。

  3、 性能测试的指标:服务器的各项指标(CPU使用率、内存占用率、硬盘占用率等)、后台数据库的各项指标和软件的响应时间:

  (1) 操作系统有关的指标:CPU平均利用率、内存平均占用率、硬盘占用率、I/O数量、网络时延

  (2) 数据库有关的指标:I/Owait、Mem平均使用率、cpu平均使用率、在一次I/O操作中所读的大BLOCKS数、Log的增长情况、数据库的访问速度、数据库能支持的大用户数、数据库CACHE命中率、不同数据库参数下的性能情况、锁的处理

  (3) 软件有关的指标:交易的平均响应时间(从接收请求到回复响应的时间)、每秒交易数量(单位时间里的执行次数)、对中间件功能的调用、远程处理延迟

  4、 查看性能指标的命令和方法:

  vmstat:虚拟内存的统计(cpu/io)

  iostat:设备的IO统计

  netstat:网络活动信息统计

  top:内存统计

  cat /proc/meninfo:查看系统的总men大小

  cat /proc/cpuinfo:查看系统总CPU大小

  df ?k:查看系统硬盘大小

  举例说明:

  (1)查看CPU使用情况的命令

  每5秒刷新一次,右侧有CPU的占用率的数据:$ vmstat 5

  top 然后按Shift+P,按照进程处理器占用率排序:$ top

  (2)查看内存使用情况的命令

  用free命令查看内存占用情况:$ free

  top 然后按Shift+M, 按照进程内存占用率排序:$ top

  (3)查看网络流量

  可以用工具iptraf工具:$ iptraf -g

  针对某个Interface的网络流量可以通过比较两个时间网络接口的RX和TX数据来获得:$ date; ifconfig eth1或$ date; ifconfig eth1