压测,限流以及调优
背景
配合银行活动,确保活动正常进行。
环境
8核32G,CentOs7
涉及到的几个方面
A 表示默认配置,B 表示调优配置
PHP调优
php
调优,经过对比测试,开启opcache
扩展能够提升1倍多的性能(B=2.xA
)。opcache
本质上是缓存,是缓存就存在过期时间和新建,有一些事项需要注意。
- 不要在高峰期发布代码
- 手动刷新
opcache
相关命令
//查看是否配置opcache
php -m
//配置cli模式
opcache.enable_cli=1
//查看 opcache 是否生效
php --ri "Zend OPcache"
...
Opcode Caching => Up and Running //这样才生效
...
PHP-FPM调优
php-fpm
调优,主要涉及到的是pm
配置项的配置。会有一些提升。
pm=static
pm.max_children=1000
php-fpm进程数设置参考1
php-fpm进程数设置参考1
NGINX限流配置
nginx
限流配置。在压测的情况下,确定机器的性能上限,找到限流的指标。
http{
//$binary_remote_addr 按IP限制
//zone=key:size 分配内存,存储IP地址,1.6W IP≈1M
//rate=10r/s 每秒10个请求
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
server{
limit_req zone=mylimit burst=50 nodelay;
error_page 503 /503;//限流默认返回503,可配置,范围400~599
location /503 {
limit_req_log_level warn;//默认info,记录的信息太多
default_type application/json;
return 200 '{"code":"53000","message":"网络繁忙,请稍后再试"}';
}
}
}
最终的效果
限制以内的请求正常处理,超过限制的,弹出”网络繁忙,请稍后再试”的提示信息。
本作品采用《CC 协议》,转载必须注明作者和本文链接