Apache ab并发负载压力测试(python+django+mysql+apache)

如标题,大家都知道秒杀中存在高并发使库存骤然为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键商品的话瞬间就为负数了

今天就些下模拟测试秒杀高并发,解决办法后续奉上。。。。。。

posted @ 2019-04-11 17:02  Xcsg  Views(801)  Comments(0Edit  收藏  举报