性能测试工具 国产性能测试工具 kylinPET 在麒麟操作系统上的能力表现

SagacitySea · 2021年09月13日 · 最后由 恒温 回复于 2021年09月16日 · 6282 次阅读

一直以来人们从事性能测试,使用最多的是 Jmeter 和 LoadRuner 。笔者在网上找了一下国产性能测试工具,从中筛选出一款优秀的国产的性能测试工具 kylinPET。查找该款工具的历史,好像有十年历史了,发展到今天已经升级 V7.1 版本。从官网上查看,还做了国产化 UOS 操作系统和麒麟操作系统的兼容性适配认证,同时还支持在多款国产芯片(龙芯、鲲鹏、兆芯、申威、海光、飞腾)上运行。下面笔者一步步在国产麒麟系统上对 kylinPET 进行验证测试,和美国的 LoadRunner 进行比较一下。

1.脚本录制

kylinPET 在银河麒麟系统上运行并使用龙芯浏览器进行录制,录制结果如下。
如果是支持在国产系统上进行脚本录制,而还支持使用龙芯浏览器,真的让我很惊讶。录制顺畅度让我不敢相信。

1.2 银河麒麟 - 脚本录制 - 录制后的脚本

1.3 脚本回放

1.4 参数关联

1.5 页面验证

2 脚本任务执行模式

更令人欣喜的是 kylinPET 可以持对虚拟行为进行设置:模拟浏览器行为和按照录制时间间隔并发请求。这两者在大部分场景下有着不太的差距。优其是第二种方式,测试结果是真实的浏览器行为,这些 LoadRunner 12 版本也望尘莫急,更不用提 LoadRunner11 版本了。

2.1 模拟浏览器行为

2.2 按照录制时间间隔并发请求

3 任务执行场景设置

kylinPET 虚拟用户的并发模型的支持优为富丰,笔者对比了一下 LoadRunner,让笔者异常的激动,这些场景比 LoadRunner 还要丰富。kylinPET 并发模式支持类型:并发用户(循环)、新增用户/秒,在线用户/秒。细分领域有十种,如:新增用户/秒波浪与振动、新增用户/秒随机型等,一些复杂的场景 LoadRunner 是不支持的,只支持相对常用的场景。kylinPET 的并场景上相对的就要丰富很多。

3.1 新增用户/秒_稳定速率

3.2 新增用户/秒_随机型

3.4 新增用户/秒_波浪与振动

大并发下的运行模型

笔者在设置场景时,发现有独占线程和共享线程两种选项。仔细查看相关说明
独占线程 :每个虚拟用户独占一个或多个线程。这种模式是 kylinPET 的默认模式,这种方式也是市场上所有性能测试工具的实现机制。像 LoadRunner 如果单机并发 3000 以上运行起来就非常吃力,就是因为线程数过多,占用内存满导致以及 CPU 频繁在线程间切换导致的开销拖垮了 CPU 能力。而 kylinPET 的共享线程却很好的解决了这个难题。

指标监控

在指标监控显示上界面上,看起来和 loadRuner 非常相似,估计是仿 LoadRunner 的界面做的。但是在监控指标和指标分析却有自己独特的一面,感觉有点青出于蓝而胜于蓝味道。这也是我们中国人一关的作风,从模仿到超越,这也是我国性能测试工具要走的必然之路。

虚拟用户行为仿真

kylinPET 可以对压力测试过程中的每一个虚拟用户进行分析,这是目前市面上已知的性能测试工具都不具备,是 kylinPET 相比 LoadRunner 中一个很不错的亮点。同时 kylinPET 还支持对虚拟用户的柱状图等一系统的统计,这些功能可以很好的帮忙测试人员定位问题。

按照录制时间间隔并发请求

模拟浏览器行为

共收到 8 条回复 时间 点赞

感觉是个换皮的 jmeter?

你可以到官网上下载试一下,与 Jmeter 有着很大的差异。唯一有点关似的就是脚本的形态都 http 原生脚本,这一点也不是 Jmeter 特有的。

感觉像是 jmeter 和 lr 的综合版,尤其是和 scenario 太像了

抄袭 jmeter 既视感😂

重来看雨 回复

kylinPET 是不是 Jmeter 改造,可以从以下几个方面来看:
1、录制功能
kylinPET 创造性使用网络监听与浏览器接口调用 (包括 chrome,firefox,edge,谷歌内核其他浏览器) 方式进行录制,录制信息更加详细精确。甚至录制了浏览器的并发行为,以便在并发用户数时达到模拟真实浏览器行为的能力。
1)kylinPET 的 https 录制使用特殊技术使录制适配所有网站,可以使用 kylinPET 录制 www.taobao.com(淘宝)和 jmeter 录制淘宝网,可以发现 jmeter 录制不了淘宝网站,但 kylinPET 可以,证明我们录制能力强大很多
2)支持 http2 技术录制,目前很多网站已经使用 http2 技术,例如淘宝,阿里云,京东等等。可以使用浏览器 F12 查看 “network” 看到 protocol 列为 h2(http2),而 jmeter 不支持 http2 录制
2 界面功能
1)kylinPET 界面完全跟 jmeter 不一样,只是脚本是树形结构相似,这是因为业界 http 测试工具都是类似这种界面,例如 postman,soapUI;kylinPET 更像 loadrunner,操作更简单,功能更强大。
2)kylinPET 实现自动关联,回放与录制对比,并使用真实浏览器验证脚本多种方式降低用户使用难度,快速编写正确脚本。
3、并发发送请求
Jmeter 使用 apache httpclient 或 java 自带 httpconnection 库 作为 http 并发处理,这些库适合开发者调用,但对性能测试有缺点:http 被库封装了,占用内存大(因为不是专给性能测试用,而是开发者用),无法统计 TCP 指标、首分片不准;而 kylinPET 完全自主研发 http/http2 协议栈,因此支持 IP 欺骗、TCP/SSL/DNS 指标;另外,针对 web2.0 特殊定制内存使内存占用非常小,保障性能测试更加稳定(避免内存溢出、垃圾回收导致时间指标大)

以上这些我是从官网上摘抄下来的,希望对你有用。

= =这工具是收费的呀

杨腾 回复

kylinPET 和 loadRunner 一样,都是商业软件

额,搞半天,原来你是在推广商业软件。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册