合肥博为峰IT培训学校

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>合肥软件测试培训机构榜一览

合肥软件测试培训机构榜一览

合肥软件测试培训机构榜一览,博为峰IT培训学校是专业的IT培训机构之一,博为峰51Code在国内率先推出IT就业培训业务,即通过数月的强化培训,使缺乏职场竞争力的学员具备企业级项目执行能力,先后在10余个城市推出Java,软件测试,软件开发线下培训,并推出在线职业教育平台博为峰网校Atstudy,面向全国/国际提供软件测试,软件开发等0基础或进阶类,考证类等课程

合肥软件测试培训机构榜一览

http接口性能测试用什么工具?怎么操作

  一、 http_load

  程序非常小,解压后也不到100K。http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。

  但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。

  安装很简单:

  tar zxvf http_load-12mar2006.tar.gzcd http_load-12mar2006makemake install

  命令格式:http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件

  参数其实可以自由组合,参数之间的选择并没有什么限制。比如你写成http_load -parallel 5 -seconds 300 urls.txt也是可以的。我们把参数给大家简单说明一下:

  -parallel 简写-p :含义是并发的用户进程数。-fetches 简写-f :含义是总计的访问次数。-rate 简写-p :含义是每秒的访问频率。-seconds简写-s :含义是总计的访问时间

  准备URL文件:urllist.txt,文件格式是每行一个URL,URL较好超过50-100个测试效果比较好。文件格式如下:

  http://127.0.0.1:80/getuserinfo?uid=1http://127.0.0.1:80/getgroupinfo?gid=1... ...

  我们来看运行一条命令来看看它的返回结果 命令:% ./http_load -rate 5 -seconds 10 urls说明执行了一个持续时间10秒的测试,每秒的频率为5。

  49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first-response: 63.5362 mean, 81.624 max, 57.803 minHTTP response codes: code 200 — 49

  结果分析:

  1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds 说明在上面的测试中运行了49个请求,较大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒2.5916 mean bytes/connection说明每一连接平均传输的数据量289884/49=59163.4.89274 fetches/sec, 28945.5 bytes/sec 说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min说明每连接的平均响应时间是28.8932 msecs,较大的响应时间44.243 msecs,较小的响应时间24.488 msecs5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min6、HTTP response codes: code 200 — 49 说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。

  特殊说明: 测试结果中主要的指标是 fetches/sec、msecs/connect 这个选项,即服务器每秒能够响应的查询次数,

  用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。 Qpt-每秒响应用户数和response time,每连接响应用户时间。 测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论。

  二、wrk

  wrk 是一个很简单的 http 性能测试工具,也可以叫做 http benchmark工具。只有一个命令行,就能做很多基本的 http 性能测试。wrk 是开源的,代码在 github 上

  首先要说的一点是: wrk 只能运行在 Unix 类的系统上. 比如 linux, mac, solaris 等. 也只能在这些系统上编译. wrk 的一个很好的特性就是能用很少的线程压出很大的并发量. 原因是它使用了一些操作系统特定的高性能 io 机制, 比如 select, epoll, kqueue 等. 其实它是复用了 redis 的 ae 异步事件驱动框架. 确切的说 ae 事件驱动框架并不是 redis 发明的, 它来至于 Tcl的解释器 jim, 这个小巧的框架, 因为被 redis 采用而更多的被大家所熟知.

  要用 wrk, 首先要编译 wrk. 你的机器上需要已经安装了 git 和基本的c编译环境. wrk 本身是用 c 写的. 代码很少. 并且没有使用很多第三方库. 所以编译基本不会遇到什么问题.

  1、下载编译:

  git clone https://github.com/wg/wrk.gitcd wrkmake

  就 ok了. make 成功以后在目录下有一个 wrk 文件. 就是它了. 你可以把这个文件复制到其他目录, 比如 bin 目录. 或者就这个目录下执行.

  如果编译过程中出现:

  src/wrk.h:11:25: fatal error: openssl/ssl.h: No such file or directory#include是因为系统中没有安装openssl的库.sudo apt-get install libssl-dev或 sudo yum install openssl-devel

  2、测试运行:

  我们先来做一个简单的性能测试:

  ./wrk -t10 -c10 -d10s -T10s --latency 'http://127.0.0.1:7001/login/im?appid=1&udata=2'

  30秒钟结束以后可以看到如下输出:

  核数的2到4倍足够了. 多了反而因为线程切换过多造成效率降低. 因为 wrk 不是使用每个连接一个线程的模型, 而是通过异步网络 io 提升并发量. 所以网络通信不会阻塞线程执行.

  这也是 wrk 可以用很少的线程模拟大量网路连接的原因. 而现在很多性能工具并没有采用这种方式, 而是采用提高线程数来实现高并发. 所以并发量一旦设的很高, 测试机自身压力就很大. 测试效果反而下降.

  3、脚本扩展:

  我们通过一些测试场景在看看怎么使用 lua 脚本.

  POST + header + body.

  首先创建一个 post.lua 的文件:

  wrk.method = "POST"wrk.body = "foo=bar&baz=quux"wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"

  就这三行就可以了, 当然 headers 可以加入任意多的内容. 然后执行:

  wrk -t12 -c100 -d30s -T30s --script=post.lua --latency 'http://127.0.0.1:7001/login/im?appid=1&udata=2'

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网