如标题,大家都知道秒杀中存在高并发使库存骤然为0,但在我们个人PC或小区域内是模拟不出这样的情景
现在利用 Apache ab并发负载压力测试
1,数据库建入库存字段并映射模型
2,view编写脚本
#秒杀压力测试 def miaosha(request): res_one = Newss.objects.get(pk=1) if res_one.pd > 0: time.sleep(5) # res_one.pd = res_one.pd - 1 # res_one.save() with connection.cursor() as c: c.execute(' update newss set pd = pd - 1 where id = 1 ') return HttpResponse('ok') else: return HttpResponse('没有了')
3,配置路由
#秒杀压力测试 path("maiosha",miaosha),
4,使用命令行窗口,定位到apache安装目录的bin目录下
D:\xampp\apache\bin>ab -n 5000 -c 4000 http://127.0.0.1:8000/md_admin/maiosha
(-n发出5000个请求,-c模拟4000并发,相当4000人同时访问,后面是测试url)
ab -t 60 -c 100 http://127.0.0.1:8000/md_admin/maiosha
在60秒内发请求,一次100个请求
这样的话我库存10键商品的话瞬间就为负数了
今天就些下模拟测试秒杀高并发,解决办法后续奉上。。。。。。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Apache ab并发负载压力测试(python+django+mysql+apache) - Python技术站