课程名称:PHP秒杀设计
课程章节:基础工具与知识介绍
课程讲师:皮奇
课程内容:
安装压测工具
yum -y install httpd-tools
ab -V
使用上面的命令安装完以后执行下面的ab -V检查是否安装是哪个
检测接口最大qps(吞吐量)
ab -n100 -c10 http://xxx
- 这里的100是总共访问多少次,10是使用多少个并发线程去访问
- 答案在测试结果中
Requests per second: 101.15 [#/sec](mean)
- 建议写完接口以后都使用这条命令来检查一下qps是多少
- 检测完以后还需要检查单接口的性能还有没有优化的空间,如果有,则做到最优化的情况
- 然后还需要对接口做一个限流,确保接口不会因为流量暴增而出现雪崩的现象
限流
这里介绍使用nginx进行限流
nginx有两种限流方式
- 按连接数限速,即并发数(ngx_http_limit_conn_module)
- 按请求速率限速,按照ip限制单位时间内的请求数(ngx_http_limit_req_module)
这里介绍的是第二种方式,使用方式很简单,在nginx的配置文件中先创建规则,再在location中使用规则
// 创建规则
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
// 应用规则
limit_req zone=mylimit burst=1 nodelay;
- 规则的含义:根据用户的IP进行限流,限制的速率是每秒1个请求,规则的名字叫mylimit
- burst=1含义:当某个IP请求速率为2的时候,第一个请求会去正常处理,第二个请求会排队
- nodelay含义:让请求不排队
最后的测试结果是超过请求速率的请求,会返回503错误
课程收获
学会了ab压测工具最基本的使用,以及处理高并发的一些方法
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦