性能测试平台——NPT平台介绍

达芬奇密码2018-06-26 13:22

前言

         越来越多的项目负责人会把性能指标的好坏,作为项目质量的重中之重,那么打造一款简单易上手的性能测试平台也是大势所趋。NPT性能测试平台应运而生,网址如下:http://npt.netease.com/


为什么要开发NPT平台

         性能如何是目前很多公司都会关心的问题,很多大公司也都有自己的性能测试平台。但对于在网易工作的小伙伴们来说,仍然有一些不方便之处:

1. 用其他公司的性能测试平台,例如阿里的PTS性能测试平台,需要额外支付费用并且会担心公司信息外泄;

2. 用其他公司的平台,可能会有网络传输等条件影响测试结果;

3. 采用jmeter等性能测试工具,没有强大的测试机可供压测使用;

         所以杭州研究院的性能测试组和测试开发组,共同研发了性能测试平台——NPTNetease Performance Platform)。可以帮助网易的各个研发团队,各个产品评估产品性能,找出性能瓶颈,提升产品质量。简单来说,NPT平台给我们提供了如下功能:

1. 易上手,简单场景3分钟内发起压力服务可用率高达99.99%;

2. 支持多接口并行、顺序等执行策略,支持恒定、上升、变化压力模式;

3. 支持接口性能测试、稳定性测试、容量测试三大类型;

4. 自动、实时、可视化展示性能监控指标,支持系统资源监控、应用性能监控;


NPT平台架构

平台架构图:

NPT性能测试平台主要由前端Web服务、Asimov机器和调度中心、Watchlog日志分析服务三个部分组成。

  • 前端Web负责用户输入以及结果展示;Asimov负责机器管理以及测试任务执行;Watchlog负责结果数据的聚合分析。
  • Asimov依赖公司的哨兵,对机器进行集群管理、指令下发等操作,通过哨兵实现跨机房的机器控制。
  • 测试过程中产生的一些异常日志会上传到NOS,用户在测试中无需触及测试机即可查看到重要的测试异常日志。
  • 测试结果数据通过DataStream安装在各个测试机上的TailFileAgent,将数据经由Route传输到Kafka中,Watchlog借助Storm对结果数据进行过滤、统计,并且提供API给前端Web,这样前端就能实时获取测试结果了。


NPT平台简介

         NPT平台首页有多名性能测试专家倾情奉献的培训视频,可以帮助大家方便、快速的开展性能测试:

NPT平台上,一次完整的测试过程包括如下几个阶段:

1)  新建项目/加入项目

         通过openid登录到NPT平台,如果没有项目则新建项目,已有项目可以申请加入,通过后会有邮件通知,已经有权限的项目会在“我的项目”中罗列出来;

2)  创建场景

         进入到对应的项目中,在测试场景中创建场景,设置URL请求,可以支持HTTPHTTPS的协议类型,GETPOSTPUTPATCHDELETE类型的请求方式,另外还可以添加断言并从响应消息中提取参数;

         URL中的变量可以从上传的CSV格式的文件中取到,也可以通过变量生成器生成;域名设置是至关重要的,内网压测配置云主机机房IP,外网压测直接配置外网IP

3)  创建任务

         选择任务所属的测试场景,并根据服务部署在萧山B还是义桥来选择对应的施压集群,压力模型可以选择平行或者梯度的模式进行压测,原则上NPT平台支持无上限的并发压力;

4)  测试执行

         测试执行过程中,可以实时观察到接口的TPSMRT等性能指标,并可以通过性能风险来检查检测结果的健康度;

任务详情:

性能风险:

更多详细过程,可以参考平台首页视频内容。


本文来自网易实践者社区,经作者齐红方授权发布。