压测,限流以及调优

背景

配合银行活动,确保活动正常进行。

环境

8核32G,CentOs7

涉及到的几个方面

A 表示默认配置,B 表示调优配置

PHP调优

php调优,经过对比测试,开启opcache扩展能够提升1倍多的性能(B=2.xA)。
opcache本质上是缓存,是缓存就存在过期时间和新建,有一些事项需要注意。

  1. 不要在高峰期发布代码
  2. 手动刷新

opcache相关命令

//查看是否配置opcache
php -m

//配置cli模式
opcache.enable_cli=1

//查看 opcache 是否生效
php --ri "Zend OPcache"
...
Opcode Caching => Up and Running //这样才生效
...

opcache原理
手动刷新共享内存

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":"网络繁忙,请稍后再试"}';
        }
    }
}

nginx限流配置说明
参考2

最终的效果

限制以内的请求正常处理,超过限制的,弹出”网络繁忙,请稍后再试”的提示信息。

本作品采用《CC 协议》,转载必须注明作者和本文链接
城里的野山参
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!