为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第18天 PHP秒杀设计之基础工具与知识介绍

课程名称: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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消