最近接到一个需求,对一个微信公众号上的一个登录进行压力测试,看是否存在压力问题。

刚拿到需求有点瞢,1.这个程序不是公司的开发做的,是第三方做的2.没有问题说明,只能自己想把法。

好吧,领导要求完成任务,只能自己想办法了。

初步评估了下。有2种方法可行:

第一种是使用badboy录制整个交互的过程,生成jmter接口脚本直接调用。

第二种可以通过捉包工具wireshark,指定本地ip捕捉整个登录过程,然后提取,请求地址、端口、协议等信息。

由于第一张比较简单,选择第一种方法,获取脚本如下

但是回放时候出错了。返回{"msg":"未知异常,请联系管理员","code":500}

由于没有后台查看日志,没有文档查看,也没有开发人员问询,所以没方法解决。

由于第一种办法不行,只能通过第二种办法,先捉包查看交互过程

对比了下通过badboy录制的脚本,发现bodboy录制的头信息没完整,所以猜测是头信息有问题。

所以在HTTP Header Manager处按正常交互的信息添加。发现只要包含Content-Type: application/json

脚本就能正常交互,所以可以断定,后台服务是有约定头信息的,如果没包含这个参数就做错误处理。

脚本调试正常后,开启压力测试。

首先要确定下测试目标有2个,第一是要确定下服务器瓶颈在那里,第二个是在极端情况下服务器是否会出错。

第一个测试目标实现的方法使用逐级增加用户的场景,多次测试可得出结果。

需要设置的地方有2处。

设置线程数

设置qps

经过测试,当并发请求达到每秒60用户登录时候,登录会有报错出现,同时让第三方人员查看了下cpu使用率已经达到80%以上。所以推测瓶颈是cpu使用率,服务器心性能为50Qps。

第二个测试目标测试方法。时间使用1000用户循环登录,让服务器在高负荷情况下运行。

测试结果。运行后出现大量错误,再次登录失败,说明服务器在高负荷运行存在问题,需要优化

转载于:https://my.oschina.net/u/3833580/blog/1809395

一个简单的接口压力测试相关推荐

  1. 用python做简单的接口压力测试

    一个多月没有更博了,最近研究了一下接口的压力测试,主要来说就是连续频繁的对接口的调用,来测试接口的响应速度.返回结果,找到接口的性能瓶颈,最大承受极限等. 做接口压力测试的方法和工具很多,比较常用的工 ...

  2. 【Jmeter基础篇】03:如何进行post接口压力测试

    目前网络上有很多很多Jmeter的压力测试使用指南,但是在实际使用过程中,很多朋友会遇到许多并不处于理想状态的情况,比如某些参数不知道应该往哪里放,具体怎么分析测试结果等等. 所谓压力测试,实质就是让 ...

  3. Jmeter验证码图片识别注册接口压力测试实战

    写在前面 前段时间写了一篇博文<Jmeter验证码注册接口压力测试实战>,前两天又登录对应的网站看了一下.发现原来滑动验证的方式改成了图片验证码的方式,防止用户多次发送手机验证码. 看到这 ...

  4. [Go菜牛系列]通过go-wrk进行HTTP接口压力测试

    http 接口压力测试示例 go-wrk 是一个用Go语言实现的轻量级的http基准测试工具,类似于wrk,本文将简单介绍一下如何使用go-wrk实现接口的性能(压力)测试. 安装 go-wrk ht ...

  5. 从零开始的Nginx [ 8 ] --- nginx 的性能优化:ab接口压力测试工具,tomcat企业运维,WEB站点部署,项目上线

    文章目录 nginx 性能优化 1.当前系统结构瓶颈 2.了解业务模式 3.性能与安全 4.系统与nginx性能优化 1.文件句柄 2.设置方式 3.系统全局性修该和用户局部性修改 4.进程局部性修改 ...

  6. 学习笔记-JMeter 进行接口压力测试

    一.压力测试场景设置 1.场景设定:进行接口压力测试时,有单场景也有混合场景.单场景就是对一个接口进行请求:混合场景需要对多个接口进行请求,在流程类业务场景会运用到 2.压测时间设定:通常时间为10- ...

  7. python分析股票支撑压力_python+requests接口压力测试500次,查看响应时间的实例

    接口压力测试500次,查看响应时间 import json import requests import logging logging.basicConfig(level=logging.INFO, ...

  8. Jmeter验证码注册接口压力测试实战

    主要学习的内容包括发送HTTP请求.HTTP信息头管理器.HTTP cookies管理器.用户定义的变量.响应断言.CSV数据文件设置的使用. 测试网址及测试接口等说明 提供的测试网址为: http: ...

  9. 接口压力测试:Postman【Postman通常用于做接口测试,同时也可以用于作为压力测试】、Jmeter【专门做压力测试】、Loadrunner、Apache AB、Webbench

    做开发的同学一定会遇到接口对接,今天介绍两个对接测试两个我个人认为比较好的测试工具 postman和jmeter 1.postman通常用于做接口测试,同时也可以用于作为压力测试 2.jmeter做压 ...

最新文章

  1. [Android Studio 权威教程]Windows下安装Android Studio
  2. Jquery为DIV添加点击事件,Jquery为a标签超链接添加点击事件
  3. react-router 从 v2/v3 to v4 迁移(翻译)
  4. 移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析html代码,更好地将移动web前端页面表现出来。本文整理一些常用的meta标签...
  5. rpm包时遇到Header V3 DSA signature: NOKEY时解决办法
  6. python按键盘上哪个键运行_python根据键盘输入进行相应操作
  7. JS中的Replace方法
  8. C++编程笔记:贪心算法实现部分背包问题
  9. css矩形凹陷效果_被低估的CSS滤镜:drop-shadow
  10. phpcmsV9 邮箱注册:邮箱验证(不改代码、含演示截图) - 配置篇
  11. ActiveMq生产者流量控制(Producer Flow Control)
  12. Mac在线网页版打字推荐
  13. 数据分析的常用工具有哪些
  14. PPT如何制作一级标题、二级标题
  15. syslinux和grub引导linux,在Arch上使用Syslinux替代GRUB
  16. 计算机桌面上的声音图标没了,Windows7旗舰版桌面音量图标消失的原因
  17. elementUI环形进度条设置渐变色和修改底色
  18. 华为新系统鸿蒙接入,魅族宣布接入鸿蒙系统,支持华为,给力!
  19. python使用opencv如何保存图片_OpenCV Python 保存图片
  20. 数据库:增、删、改、查操作

热门文章

  1. 【OBS】dshow_input 视频采集设备的源创建和枚举
  2. Windows Server2008之大量TIME_WAIT端口不能封锁和释放
  3. C语言 · 运用结构体的排序方法
  4. C++ python 小游戏 画图 资料集
  5. linux搭建ftp修改域名访问,linux下构建建设完美FTP服务器
  6. FCK:editor解析
  7. 计算机学院软件知识大赛标语,职业生涯规划大赛标语.doc
  8. FFmpeg源码分析:avcodec_send_frame()和avcodec_receive_packet()音视频编码
  9. webpack打包vue问题记录——vue-loder
  10. 回顾:中网通讯网络公司CEO罗与曾作客新浪嘉宾聊天室