用数据驱动决策与业务创新
企业服务数十年,打造可持续的智慧企业,平常、但不平凡
方天T-ONE性能測試報告 二维码
发表时间:2022-05-26 17:32 方天T-ONE的底层结构很强大,所有模块都可以根据需要自行安装和御载,所以用户能像搭积木一样建构自己期望的系统。即使完全不安装与ERP相关的模块,仅利用语气自身的底层框架,也能构建出适合各种用途的系统。语气是繁體中文架构,后端基于C#.NET开发,前端基于HTML5和JavaScript技术开发,所有功能和操作界面都能在手机上使用,支持界面自适应。 测试目的 1) 在XD公司给定的硬件环境,网络环境状况,多并发用户情况下,测试语气系统的响应速度。 2) 根据测试结果,判断语气是否可以满足XD公司的性能要求。 测试背景 1) XD公司全国各地工厂5家,分公司有55家,代理公司有125家。分布于各地分公司的员工约1200名,预计3年内人数将达到1800人。 2) 在XD公司给定的硬件环境,网络环境下,基于语气的新系统能否满足XD公司现在及将来发展后的性能要求。 测试范围 本次测试在XD公司总部办公室进行,主要测试伺服器的性能(包括语气伺服器和SQL数据库伺服器),不测试网络状况,不测试客户机的状况,不测试各地分公司的访问状况。 测试环境 【客户机】 联想笔记本电脑,i5双核CPU,8G内存,SSD硬盘。 【语气伺服器】 XD公司虚拟机,12核CPU,16G内存 【语气数据库伺服器】 XD公司虚拟机,12核CPU,16G内存 【网络环境】 XD公司总部局域网,客户机和伺服器间网络状况极好。 测试需求、内容、工具及方法 测试需求 本次测试需求是: 1) 测试XD公司700多名系统用户(员工),高峰期200名用户同时登录系统的情况下,语气系统的响应速度能否达到XD公司的要求。 2) 本次测试在XD公司总部办公室进行,主要测试系统软件及伺服器的性能,不考虑异地网络延迟问题。 并发数估算 根据统计规律,软件系统的并发用户数(同时作业系统的用户数)的估算公式如下: (1) 平均并发用户数: C = n * L/T (2) 并发用户数峰值: C』 ≈ C + 3 * C的平方根 公式(1)中,C是平均的并发用户数;n是登录用户(在线用户)的数量;L是登录用户的平均在线时间,T指考察的时间段长度。 公式(2)则给出了并发用户数峰值的计算方式中,其中,C』指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式假设用户行为符合泊松分布规律。 XD公司的用户情况如下: 1) 总用户数是800,实测高峰在线用户数200; 2) 大部分用户(超过500)是车间报工人员,系统登录时间较短,平均每天在1小时以下,销管、计画和财务人员登录时间较长,平均每天估算为4小时; 3) 所有用户的每天的平均登录时间估算为2小时; 4) 用户只在上班时间使用系统,因而考察时间段为上班时间,8小时。 XD公司的并发用户数估算如下: 平均并发用户数 C = n * L/T = 200 * 2/8 = 50 并发用户数峰值 C』 = C + 3 * C的平方根 = 50 + 3 * 7 = 71 用户响应时间标准 软件系统的用户响应时间,业界有一个普遍的标准,即2/5/10原则。也就是说,用户一次操作,如果系统在2秒之内响应,用户会认为是「非常有吸引力」的用户体验;如果在5秒之内响应,会认为「比较不错」的用户体验;如果在10秒内响应,会被认为「糟糕」的用户体验;如果超过10秒还没有得到响应,那么大多数用户会认为这次请求是失败的。 测试内容 本次测试根据XD公司的业务特点,测试了五个代表性操作: 1) 客户查询,输入关键字,查询客户,测试系统响应时间; 2) 新建销售合同,输入客户、课程等信息,点击保存,测试系统响应时间; 3) 客户打款单列表,点击「客户打款单」菜单,系统显示打款单一览,测试响应时间; 4) 打开打款单,随机点击一览中的一条客户打款单,测试系统响应时间; 5) 打款单审核,点击打款单审核按钮,测试系统响应时间。 为了分析不同并发用户数情况下,系统的响应速度的变化,本次测试将依次测试1并发,50并发,100并发,150并发,200并发情况下,上述五个操作的响应时间。 本次测试系统导入了XD公司6万多条客户信息,创建了2万多个模拟客户合同。 测试工具 主要测试工具为JMeter 测试软件,JMeter是一款广泛应用的Web系统性能测试工具。 本次测试的辅助工具还有谷歌浏览器,Excel电子表格。 JMeter可以模拟多用户并发向伺服器发送请求,并记录每个请求,伺服器的响应时间。不过,由于语气系统大量使用Ajax连接,每个页面都会同时发出多个请求(根据页面复杂度不同,少的2个请求,多的有20个请求),JMeter记录的单个请求的响应时间并不能反映整个页面的响应时间。 为了获得整页面的响应时间,测试中用JMeter模拟并发用户操作,再通过浏览器访问系统,记录整页面响应时间。 测试方法 本次测试采用的方法步骤说明如下: 1) 先用JMeter录制客户查询、新建销售合同、客户打款单列表、打开打款单、打款单审核五个动作动作; 2) 修改录制的脚本,主要是将session_id替换成变量; 3) 用JMeter模拟多用户同时执行上述操作; 4) 同时用谷歌浏览器手工操作客户查询、新建销售合同、客户打款单列表、打开打款单、打款单审核五个动作,查看系统响应结果及时间; 5) 依次测试1用户、50并发、100并发、150并发、200并发情况下系统响应时间。 JMeter模拟用户向伺服器发出请求,截取伺服器的响应数据,响应时间等参数。 JMeter可以开启多线程,模拟多个并发用户作业系统的情况。 JMeter测试截图如下: 在网络状况良好的情况下,连接建立时间、伺服器响应结果传输时间几乎没有。下图是在网络状况较差情况下,打开销售合同时候,记录的页面响应时间。这个截图说明了: 1) 打开销售合同页面,系统发起了10个Ajax调用; 2) 每个Ajax调用包括连接建立时间(灰色),伺服器响应时间(紫色),结果传输时间(绿色); 3) 两个Ajax调用之间的间隔时间是本地Java script执行时间; 4) 同一页面的Ajax调用存在并发调用(同时调用)的情况; 5) 包括所有Ajax的调用时间,本地Java script的执行时间,整页面的响应时间是1.49秒; 测试结果及分析 系统性能测试结果 并发数为1, 50, 100, 150, 200情况下,客户查询、新建销售合同、客户打款单列表、打开打款单、打款单审核五个操作的系统响应时间如下: 系统负载情况 当并发用户数从1逐步增加到300时候,语气伺服器的CPU使用率逐步上升。下图记录的是,测试工具JMeter从16:40测试开始,每3秒钟增加一个并发测试用户,至16:55,并发用户达到300个,伺服器的CPU使用率情况。 从图中可以看到,300并发用户时候,CPU使用率约36%。 测试结果分析 1) 从测试结果来看,1个并发用户和50个并发用户,系统响应速度几乎没有变化,五个操作的响应时间都在2秒上下; 2) 100并发用户时候,系统响应速度略有下降,响应速度在2秒至2.5秒之间; 3) 从100并发到200并发,系统响应速度略有波动,但都在2秒至3秒之间; 4) 以目前XD公司的用户数800,连接用户数200,平均并发用户数50,峰值并发用户数71的情况下,系统常见操作的响应时间在2.5秒以下; 5) 考虑到将来的发展,如果员工总数翻一倍,用户数1600,连接用户数400,平均并发用户数100,峰值并发用户数达到142人,系统常见操作的响应时间在3秒以内; 6) XD公司各分公司访问系统时候,考虑到异地网络延迟问题,正常情况下,系统响应时间在4秒内(考虑增加1秒的网络延迟)。根据用户响应时间标准,这个响应时间属于「比较不错」的用户体验(5秒以内)。
文章分类:
产品方案
|
![]() |
微信扫码咨询