XRunner-kylinPET (简称:kylinPET)是一款强大的性能/压力测试工具,在HTTP协议与Socket协议这块,loadrunner有的功能,kylinPET基本都有。包括录制、关联、回放、事务、请求数、吞吐量、TCP、用户数、CPU、内存等指标曲线分析;以及强大的分析能力,包括曲线合并对比,生成报告;分布式测试。 而在SIP协议这块,loadrunner则无法支持;另一款SIPP测试工具只能测试SIP协议,但本身有很多不足,在指标和分析性能这块基本没有,而kylinPET支持录制、图形化、界面简单、指标丰富。
    下面是XRunner-kylinPET (简称:kylinPET)比其他性能测试工具更优的特性:

一、 高性能、跨平台

  1、性能高,占用资源少,8核16G内存Linux即可支持5W用户同时在线(5W TCP连接),
    32G内存可支持10万用户同时在线(需为系统再添加一个虚拟IP,因为端口个数限制为65535),
    经实践测试,一台高性能服务器可以支持几十万并发,需启动多个Agent,每个Agent虚拟IP
  2、支持跨平台,包括windows、linux、苹果Mac等32位或64位系统。

二、 性能更优,指标更丰富

  1、在实验环境并发100用户(虚拟用户数太少感觉不出),kylinPET明显性能优于loadrunner,占用
    更少CPU、内存、更稳定,且指标更丰富;
    而jmeter则更差,经常使用jmeter的测试人员可能会遇到经常出现内存溢出、性能不稳定的现象。

    实践是检验真理的唯一标准,大家可以自己实践下,可以以loadrunner自带的例子为例,录制、关联,然后并发测试100用户;

  2、输出的结果信息详细到可以分析每个虚拟用户的情况,这是其他工具没有的,包括loadrunner;
    kylinPET支持将每个虚拟用户运行的信息记录下来,并统计所有虚拟用户的汇总信息,包括用户与事务成功率、失败率、用户与事务时间、90%时间,每个请求所有用户汇总的平均时间、最大时间、成功数、失败数、失败原因等等。
   
    同时指出输出散点图标时,合并指标曲线,包括在线数、请求数、吞吐量、甚至CPU、内存等指标曲线,比较定位问题
    另外,也支持对每个虚拟用户进行分析,包括总运行时间、每个请求的响应时间、TCP/DNS时间、时间花费在哪个请求;
    另外,可以支持过滤出失败用户或运行时间长的成功用户,然后查看每个用户失败原因、在哪个请求失败的或哪个请求导致时间长;
    双击某个失败的虚拟用户,详细查看该虚拟用户的请求信息
    甚至细到查看每个虚拟用户与服务交互的报文(如HTTP报文),当需要通过交互数据定位问题时开启,否则很耗性能
    勾选下面的日志选项,然后运行停止后在上图打开某个用户查看详细的页面上点击“日志”按钮
   
    运行结束后,通过用户详情的分析界面,然后选中某个虚拟用户,点击“运行日志”按钮查看该用户日志
   
这是其他工具甚至loadrunner都无法比拟的,因为我们输出信息已经细到每一个虚拟用户,更方便汇总分析与定位问题

三、 日志更详细,更有助于定位问题

  1、当并发测试存在用户失败时,可以启用日志功能,将每个虚拟用户与服务器交互的内容保存下来,然后进行分析;例子,以前某测试人员将参数配置错误,导致用户失败,但自己不知道是参数配置错误,通过日志则可以看到发送的内容错误。
  2、在支持某大公司性能测试时,由于网络复杂,业务复杂,只凭工具输出的失败日志无法判断是工具问题还是服务器问题、还是网络问题。
    例子1:工具报告TCP建立失败,但不知道是工具没发TCP、还是服务器没收到TCP、还是服务器拒绝了TCP(压力太大),此时需要定位是哪一个设备问题、是工具还是服务器,如果只是通过工具打印的失败日志是无法定位问题 的;只能通过抓包来分析TCP,是SYN报文没发,还是发了没收到SYN-ACK;但通过抓包发现由于并发用户太大,不知道是哪个TCP才是失败的TCP,这时,需要启动kylinPET打印IP与端口的功能,输出TCP失败时同时打印了IP与端口,然后通过wireshark过滤端口发现是 工具发了SYN报文,但立即收到了RST报文关闭TCP,而服务器没收到SYN报文,最终判断是中间防火墙网络设备问题,从而解决问题。这种定位方式是其他性能测试工具不具备的,包括loadrunner与jmeter,因为他们没有TCP IP与端口信息。
    例子2:工具报告接收超时,但服务端日志却显示响应已经发送,这时后不知道是工具问题还是服务器问题,因此只能抓包,还是需要通过IP与端口信息过滤来判断问题,最终发现是服务器打印日志后异常导致没发送响应报文。
   
性能测试有时通过指标可以定位出性能问题,但有些是需要日志来定位问题,甚至有些是需要通过抓包才能定位问题,但在大量的报文里,抓包要找到问题也很困难,因此kylinPET输出了IP与端口、以及协议关键字段(可以支持wireshark过滤)

以便执行失败或成功但时间超长时抓包定位问题,通过过滤IP与端口可以筛选异常的报文,提供证据给开发,因为在大并发性能测试时,测试问题,开发可能说是工具问题,或者无法定位问题,通过抓包过滤端口与IP即可辅助问题定位

四、 WEB网页支持每个虚拟用户是同时并发多个TCP发起请求,模拟浏览器并发资源

    独有的模拟浏览器并发功能,这是其它性能测试工具不具备的,这样测试页面时间才准确,举例说明
    因为现在浏览器访问网页是并发多线程发送HTTP,而其它工具是串行一个HTTP一个HTTP发送,
    如100辆车要到达目的的,一个是一车道还堵车(阻塞),一个是6车道,时间差别很大。
    模拟浏览器的时间才有意义,参照:http://bbs.51testing.com/thread-1077093-1-4.html

五、 强大且灵活的并发模型

  详细请点击链接