前提需要安装下apache 的ab压力测试工具
因为我的服务器是linux 直接用yum进行安装
yum -y install httpd-tools
本项目通过TP5进行测试
use think\cache\driver\Redis; $redis = new Redis(); //执行Redis其它高级方法 $handler = $redis->handler(); $handler->auth('连接redis的设置密码'); //前提设置下count键的值 然后屏蔽代码 //$handler->set('count',10); //监听count键 $handler->watch('count'); $count = $handler->get('count'); $num = 0; if($count <= $num){ exit('活动结束'); } //开启事务之后才会将命令放入队列当中 $handler->multi(); $handler->set('count',$count-1); //按命令放入先后顺序执行,如果监视的数据被修改了,命令就会执行失败,返回空值 $res = $handler->exec(); if($res){ Db::name('commodity')->where('id',15)->setDec('new_product',1); echo '下单成功'; }
ab -c 2000 -n 3000 https://www.xxx.com/index.php 进行并发测试
-n 总的请求数
-c 并发数
-k 是否开启长连接
-p 包含了post数据的文件
-i 执行HEAD请求,只获取头信息