• 记录一次较为完整服务器性能测试


    前言

    • 回顾几年前,做性能测试,尤其是服务器性能测试难度比较大,一是测试人员本身技术不足,二是测试的生态环境
      不够完善(参考资料少、实用案例少、工具选型少),然而在这两年随着测试环境的生态逐步完善,性能测试也就
      不那么难了!

    测试目标

    • 通过wetest测试工具,找出系统能够承受的最大压力,并找出性能瓶颈。
      本次要测试的为微信小游戏的后台服务器性能问题。

    测试资料准备

    1. 接口文档(以便测试人员了解各个接口的请求方式)
    2. 与开发沟通,了解服务器部署的方式(根目录、日志文件位置)
    3. 服务器硬件指标(多少内存、硬盘类型(SSD or 高性能云盘)、网络带宽、CPU性能指标)
    4. 腾讯云账号并购买wetest服务

    测试策略

    • 由于此次性能测试无任何历史依据,故测试策略采用选用最基础的登录接口、排行榜页面查询接口、分享接口的几个核心
      接口,进行单接口,多接口混合测试!
    1. 对登录接口、排行榜页面查询接口、分享接口进行单接口逐步增压并发测试(1--50--200--400--800),获取wetest测试报告
    2. 对登录接口、排行榜页面查询接口、分享接口按照1:2:2的比例进行逐步增压并发测试(50--200--400),获取wetest测试报告
    3. 确定tps最大峰值后,将对应场景进行再次复测,若两次测试结果无较大差异,则判定当前场景已能反馈服务器能够支撑的
      最大压力

    测试过程中的问题

    1. 接口文档存在部分错误
    • 解决方法:通过页面操作,在服务器日志中查询对应接口请求路径
    1. 登录接口依赖动态token进项验证
    • 解决方法:请开发提供万能token

    测试结论

    1. 登录接口消耗性能严重
    2. 最大tps值为:2300
    3. 硬件瓶颈主要在于:网络带宽,内存、CPU、硬盘达到百分之40占用情况,网络带宽占用已达百分百
    4. 软件瓶颈主要在于:大量用户登录时,服务器需要请求另一台数据库服务器进行查询,数据库服务器性能较低,
      导致请求接口存在一定比例的超时
  • 相关阅读:
    Django 常用过滤器
    计算机概论(2)
    计算机概论(1)
    Django URL视图
    模板标签之if、for
    Django 渲染模板、路径配置、变量使用。

    字符串用法
    hashlib模块
    小列
  • 原文地址:https://www.cnblogs.com/wujianqinjian/p/11203044.html
Copyright © 2020-2023  润新知