找了一圈,java 的还有一些可以参考,php 的较少。希望大家给些参考和建议。
背景:web 服务 openresty + php-fpm,独立容器。 问题主要有两个。
php-fpm 的 pm 模式是 static 好 还是 dynamic 好?(个人认为因为内存是不可压缩资源,是否直接 static 模式就好)单容器数值多大合适?
requests 和 limits 设为多大合适?(根据平时的最低 QPS 去算吗?),HPA 策略是怎样的?
1
iwuzhuo 2019-12-19 18:25:44 +08:00
不用太大。 如果是 laravel 项目,一个 fpm 大概 35 - 50mb 内存。 建议 static,10 就差不多。
|
2
HaroldChen OP @iwuzhuo 嗯,是 laravel。我现在设的就是 10,考虑对于生产环境会不会偏小? 以 10 为基准的话,感觉一个业务高峰期的 pod 数量需要横向扩大很多倍。单个容器的配置和数量之间怎么比较好的取得一个平衡?
|
3
iwuzhuo 2019-12-20 11:24:23 +08:00
@HaroldChen 不知道你们业务量。如果这个规格太小,可以考虑配置翻倍。 我们是非常非常小的单个容器规格,高峰大概会扩容到 20-30 容器。 另外,使用 swoole 代替 fpm,可以极大极大的提升但容器的负载,可以尝试下。
|
4
HaroldChen OP @iwuzhuo 感谢。那方便问一下 pm=10 的基准下,cpu 的 requests 和 limits 是怎么限制的吗?
|
5
iwuzhuo 2019-12-20 11:37:00 +08:00
@HaroldChen 还是要看你的业务类型,一般的常规 api 来说,对 cpu 要求并不高,pm=10 的话,最多 2cpu 足够了。 你可以试试,跑起来之后观察一下,根据实际场景再设置一个比较合适的值。
|
6
HaroldChen OP @iwuzhuo 好的,thx
|