运行在 Kubernetes 中的 PHP 应用容器,容器资源限制多大合适?

2019-12-19 14:34:19 +08:00
 HaroldChen

找了一圈,java 的还有一些可以参考,php 的较少。希望大家给些参考和建议。

背景:web 服务 openresty + php-fpm,独立容器。 问题主要有两个。

  1. php-fpm 的 pm 模式是 static 好 还是 dynamic 好?(个人认为因为内存是不可压缩资源,是否直接 static 模式就好)单容器数值多大合适?

  2. requests 和 limits 设为多大合适?(根据平时的最低 QPS 去算吗?),HPA 策略是怎样的?

1504 次点击
所在节点    程序员
6 条回复
iwuzhuo
2019-12-19 18:25:44 +08:00
不用太大。 如果是 laravel 项目,一个 fpm 大概 35 - 50mb 内存。 建议 static,10 就差不多。
HaroldChen
2019-12-20 10:13:07 +08:00
@iwuzhuo 嗯,是 laravel。我现在设的就是 10,考虑对于生产环境会不会偏小? 以 10 为基准的话,感觉一个业务高峰期的 pod 数量需要横向扩大很多倍。单个容器的配置和数量之间怎么比较好的取得一个平衡?
iwuzhuo
2019-12-20 11:24:23 +08:00
@HaroldChen 不知道你们业务量。如果这个规格太小,可以考虑配置翻倍。 我们是非常非常小的单个容器规格,高峰大概会扩容到 20-30 容器。 另外,使用 swoole 代替 fpm,可以极大极大的提升但容器的负载,可以尝试下。
HaroldChen
2019-12-20 11:29:12 +08:00
@iwuzhuo 感谢。那方便问一下 pm=10 的基准下,cpu 的 requests 和 limits 是怎么限制的吗?
iwuzhuo
2019-12-20 11:37:00 +08:00
@HaroldChen 还是要看你的业务类型,一般的常规 api 来说,对 cpu 要求并不高,pm=10 的话,最多 2cpu 足够了。 你可以试试,跑起来之后观察一下,根据实际场景再设置一个比较合适的值。
HaroldChen
2019-12-20 14:36:55 +08:00
@iwuzhuo 好的,thx

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630513

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX