9.4. 压力测试(上)

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

压力测试

上一节我们完成了秒杀商品的下单接口,接下来我们需要找出这个接口中可能的性能问题,因为即使一个非常小的性能问题,在秒杀这种短时间内大量请求的场景下,会被无限放大从而使整个站点不可用。

我们通常通过『压力测试』来模拟大量用户高并发请求这个接口,这样在开发阶段就可以知道哪些地方有性能问题,将这些问题消灭在上线前。同时还可以根据压力测试的结果大致预估出每台服务器可以承载多少的并发量,这样技术部门就可以根据运营部门预估的访问量来提前调整服务器数量,以更好地应对秒杀活动。

因此接下来我们将通过 JMeter 这款压力测试软件来对我们实现的秒杀接口进行测试,并通过对比测试结果来判断我们的优化手段是否有效。

1. JMeter 介绍及安装

JMeter 是一款由 Apache 基金会管理的使用 Java 开发的跨平台开源压力测试软件,可以用于 HTTP/HTTPS、FTP、数据库、TCP 等服务的压力测试,拥有多种测试结果展示方案,而且还支持 Groovy 和 BeanShell 脚本使其拥有强大的扩展能力。

由于 JMeter 是由 Java 开发的程序,因此需要有 Java 运行环境,如果还没有安装可以按下面链接安装:

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12

freecelestial
压测脚本的下载连结已失效?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.8
王鲸弋
Mac 上找不到 JMeter 目录?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
kobe6
kobe6
压力测试脚本已失效了
0 个点赞 | 2 个回复 | 分享 | 课程版本 5.5
逍遥芗梓
安装 JMeter 失败
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
lbj666
jmeter 可以解析返回的 JSON 数据吗
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
zzb75110
关于 Laravel 登录态
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
chaofu
压力测试 Seckill ,报 {"message":"Unauthenticated."}
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
liunian-zy
突然发现个情况 (code 目录大小写)
0 个点赞 | 1 个回复 | 分享 | 课程版本 6.x
ericdemon
老师,这个测压工具和 Apache 的 ab 测压有什么区别吗?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
demon
session 的第一值全是 null,没有 cookies
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5