V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HaroldChen
V2EX  ›  程序员

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

  •  
  •   HaroldChen · 2019-12-19 14:34:19 +08:00 · 1662 次点击
    这是一个创建于 1803 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    6 条回复    2019-12-20 14:36:55 +08:00
    iwuzhuo
        1
    iwuzhuo  
       2019-12-19 18:25:44 +08:00
    不用太大。 如果是 laravel 项目,一个 fpm 大概 35 - 50mb 内存。 建议 static,10 就差不多。
    HaroldChen
        2
    HaroldChen  
    OP
       2019-12-20 10:13:07 +08:00
    @iwuzhuo 嗯,是 laravel。我现在设的就是 10,考虑对于生产环境会不会偏小? 以 10 为基准的话,感觉一个业务高峰期的 pod 数量需要横向扩大很多倍。单个容器的配置和数量之间怎么比较好的取得一个平衡?
    iwuzhuo
        3
    iwuzhuo  
       2019-12-20 11:24:23 +08:00
    @HaroldChen 不知道你们业务量。如果这个规格太小,可以考虑配置翻倍。 我们是非常非常小的单个容器规格,高峰大概会扩容到 20-30 容器。 另外,使用 swoole 代替 fpm,可以极大极大的提升但容器的负载,可以尝试下。
    HaroldChen
        4
    HaroldChen  
    OP
       2019-12-20 11:29:12 +08:00
    @iwuzhuo 感谢。那方便问一下 pm=10 的基准下,cpu 的 requests 和 limits 是怎么限制的吗?
    iwuzhuo
        5
    iwuzhuo  
       2019-12-20 11:37:00 +08:00
    @HaroldChen 还是要看你的业务类型,一般的常规 api 来说,对 cpu 要求并不高,pm=10 的话,最多 2cpu 足够了。 你可以试试,跑起来之后观察一下,根据实际场景再设置一个比较合适的值。
    HaroldChen
        6
    HaroldChen  
    OP
       2019-12-20 14:36:55 +08:00
    @iwuzhuo 好的,thx
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1033 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:06 · PVG 06:06 · LAX 14:06 · JFK 17:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.