如果你有 php 使用经验, 那肯定就更好了
业务背景
框架及相应环境
laravel5.7, mysql5.7, redis5, nginx1.15
centos 7.5 bbr
docker, docker-compose...果然 qps 直接涨到了 205, 提升非常明显, 有接近 46% 的提升
perf
现在任然不满足这个性能, 希望在更多地方找到突破口....我们怀疑两种情况
与 mysql, redis 重复大量的建立 TCP 连接, 消耗资源
大量请求带来的 tcp 连接
先说第一个, 经过检查, 发现数据库连接使用了 php-fpm 的连接池, 但是...通过修改配置项, 达到了 46% 的性能提升
最后再通过 perf, 查看函数调用栈, 分析得到, 可能是大量的与 redis 的 TCP 连接带来不必要的资源消耗....通过安装 redis 扩展, 以及使用 phpredis 来驱动 Laravel的 redis 缓存, 提升性能, 达到了又一次近 50% 的性能提升.
最终我们完成了我们的性能提升 104% 的目标