请教大家一个在 Kubernetes 上部署 Laravel 应用的问题
问题: Laravel 应用部署到 Kubernets 上后,接口的 QPS 没有随着 POD 数量的上升而上升
具体情况为:
- 该 Laravel 应用使用
api
路由,所以没有走session
中间件,也关闭了throttle
限流中间件 - 每个 POD 中包含一个 nginx 容器和 php-fpm 容器
- 该 POD(Laravel 应用)提供了一个简单的接口,从 redis 取出一个缓存并返回
- 当 POD 数量为 1 时,使用命令
ab -c 100 -n 500 -k http://example.com/api/test
,QPS 为 100 左右。将 POD 数量调整为 20,再次压测,QPS 还是 100 - 经过测试,发现请求已经分发到了不同的 POD 上
- k8s 集群由两台 2 核 4G 的服务器组成,当运行 20 个 POD 时,集群 CPU 与 内存占用率都只有 20% 左右
可能是我对 Kubernets 某些概念有些误解,或者没有正确操作。希望能指点下
我个人怀疑:
ab
参数配置有问题,降低模拟客户端的数量或者调整延时可能会造成结果差异。