发布会系统性能测试

性能测试涉及的知识点非常多,包括:

性能测试的需求分析:客户需求、新系统性能验证、旧系统扩容、优化系统瓶颈等;

性能测试工具的选型:商业工具LoadRunner、开源工具JMeter、Locust,或者自研性能工具;

性能测试环境准备:软件环境、硬件环境、网络环境;

性能测试业务分析:针对哪些业务做性能测试;

性能测试数据准备:准备性能测试所需要的基础数据;

性能测试执行策略:不同业务的用户分配比例,运行时长、思考时间、集合点的设置等;

性能测试监控:中间件的监控、数据库服务器的监控、系统服务器的监控;

性能测试分析与调优:分析整个系统各个部分的监控结果;对程序处理过程优化,程序算法优化,中间件各种配置参数的调整,数据库SQL语句、索引、表结构的优化;

性能测试准备

性能测试目的:发布会签到系统、新系统能力验证;

业务分析:根据发布会签到系统的应用场景,主要包括发布会管理页面、嘉宾管理页面、嘉宾查询功能和发布会签到功能;

性能测试环境:

测试数据准备:

发布会数据:10条

嘉宾数据:3000条

待签到嘉宾:3000条

测试数据构造:

执行SQL语句,分别使sign_event、sign_guest两张表的create_time字段在插入数据时直接取当前时间:

通过Python脚本批量生成3000条插入数据的SQL语句:

将生成好的SQL语句,在SQL命令行中执行,生成测试数据。

编写性能测试脚本

使用Locust编写性能测试脚本:locustfile.py

通过@task()装饰的方法为一个事务,方法的参数用于指定该行为的执行权重。参数越大,每次被虚拟用户只需的概率越高,如果不设置,则默认为1,发布会管理页、嘉宾管理页和嘉宾搜索功能的执行权重比例为2:2:1。

min_wait、max_wait用于指定用户执行事务之间暂停的下限和上限,即3-6秒;

每个事务的请求路径、是GET请求还是POST请求、是否需要传参数等,都可以根据Django项目中对视图函数的定义来决定,调用方法与Requests库基本相同。

执行性能测试

启动性能测试:

>locust-flocustfile.py--host=http://127.0.0.1:8000

通过浏览器访问Locust工具:http://127.0.0.1:8000

Number of users to simulate:设置模拟用户数为100

Hatch rate(users spawned/second):每秒产生(启动)的用户数为10,即每秒启动10个模拟用户。

单击“Start swarming”按钮,运行性能测试,单击“New test”按钮,重新设置虚拟用户数并允许性能测试。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171229B0O93V00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券