C/S 架构性能测试研究和应用

2021-01-20 08:44姚明菊
科学技术创新 2021年1期
关键词:进程内存客户端

姚明菊

(吉利学院,四川 成都610000)

1 概述

C/S 架构,即客户端/服务器架构。客户端一般安装在Windows 操作系统的客户端机器上,因此在做性能测试的过程中,除了需要对服务器端进行性能监控外还必须要对Windows 客户端进行性能监控。本文将重点介绍Windows 客户端的性能测试和监控工具perfmon;

2 C/S 客户端性能监控存在的问题

大数据多维可视化系统,为了能够获得很好的图形的表现能力和运行的速度,大都采用C/S 架构进行开发。Windows 任务管理器等都能很好的进行实时的性能监控, 但是如何将监控的性能历史数据保存下来,对一段时间的性能趋势进行分析是个问题。

3 能监控工具perfmon

perfmon 是Windows 自带的性能监控工具, 提供了图表化的系统性能实时监视器、性能日志和警报管理,可用于监视CPU 使用率、内存使用率、硬盘读写速度、网络速度等,最重要的是它的计数器可以记录采集的监控数据并保存,保存的日志数据可以很方便地使用第三方工具对计数器收集的数据进行性能分析。

常用的性能对象与监控指标:

Perfmon 性能监控对象总共有上百个性能指标,关注一个系统的性能时,根据实际情况重点关注对应用系统影响大的CPU、内存(Memory)、磁盘(Disk)、网络(Network)等几个关键指标。实际上还需要监控程序进程的句柄数Handle Count、进行虚拟内存(Virtual Bytes)、进程的内存总量(Working Set)、进程占用的内存(Private Bytes)等关键指标,很多时候单纯观察一个指标不能完全判断内存泄漏,还需要多个指标结合,甚至结合系统指标来进行分析(表1)。

表1 进程关键性能对象与指标

4 案例分析

以大数据多维可视化系统客户端SRE.EXE 性能测试为例,多维可视化展示需要展示实时视频流、三维模型场景、三维标注等耗费资源的指标和场景,对客户端的性能影响非常的大,长时间运行的性能数据分析,对提升软件产品的性能质量非常重要。

4.1 大数据多维可视化系统客户端SRE.EXE 性能测试分析

选取了一个实际的项目进行超过8*24 小时的稳定性测试,因为本项目并没有开启客户端重启后自动拉起的功能,不存在进程句柄数Handle Count 改变的情况。所以使用Perfmon 的计数器日志的功能,持续对系统的性能指标采样,重点监控进程的Virtual Bytes、Working Set 和Private Bytes 指标情况。为了使测试场景更接近真实使用场景,测试指标更加真实和具备说服力,在测试过程中模拟真实使用场景的操作,使用了按键精灵录制了操作脚本,模拟用户使用操作SRE 系统的场景。

4.2 大数据多维可视化系统客户端8*24 小时稳定性测试数据如图1-4 所示。

4.3 SRE 8*24 小时稳定性测试数据分析

从8*24 小时监控的数据分析来看,SRE 性能指标呈现以下异常点:

第一:在系统运行10 个小时候后,内存有个突变点,经过分析,是因为此前没有开启按键精灵脚本,也就是系统在没有操作的空闲状态下的指标情况,当启动了按键精灵脚本后,系统处于操作状态,内存有少量上涨,属于正常的内存占用情况。

第二: 运行8 天过程中, 进程的Virtual Bytes、Working Set 和Private Bytes 指标都在程线性上涨状态,7 天时间分配的内存上涨了2008M,平均每10h 上涨120M,说明SRE 系统运行过程中存在内存泄漏的情况。

图1 操作系统为SRE 进程分配的内存量

图2 进程SRE 占用内存和申请的内存总和量

图3 进程SRE 使用的虚拟内存的量

图4 系统CPU 的占用率

第三: 在系统运行大约8*24 小时的时候, 突然出现进程的Virtual Bytes、Working Set 和Private Bytes 几个指标一致都骤降为0,且此时对应操作系统CPU 的占用量也骤降到0,对应SRE 程序出现黑屏的状态。经过结合日志详细分析, 发现在10 月6 日22:42 程序进程卡死, 所以与在此时间点进程各项指标占用骤降为0 的表现是一致的。

4.4 SRE 8*24 小时稳定性测试结论和建议:

SRE 运行过程中占用和使用的内存都程线性上涨,SRE 系统存在较为严重的内存泄漏,需要结合指标针对代码一一进行排查,找出内存泄漏点,并进行优化后,重新测试;

SRE 长期稳定性运行出现程序进程被中断的现象,需要对应日志和代码找出进程被中断的根本点,排查优化后需要重新进行长期稳定性测试。

5 结论

结合实际大数据多维可视化测试项目开展了C/S 架构性能监控的研究,充分体现出perfmon 在C/S 架构性能测试过程中,不仅能很好的记录程序运行过程中的各项重要性能指标,还能根据各项性能指标的变化情况得到各项指标的趋势走向,发现程序的性能异常点,对性能测试提供很好的数据支撑。

猜你喜欢
进程内存客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
债券市场对外开放的进程与展望
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
改革开放进程中的国际收支统计
媒体客户端的发展策略与推广模式
内存搭配DDR4、DDR3L还是DDR3?
新华社推出新版客户端 打造移动互联新闻旗舰
社会进程中的新闻学探寻