V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
HaroldChen
V2EX  ›  程序员

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

  •  
  •   HaroldChen · Dec 19, 2019 · 2238 views
    This topic created in 2327 days ago, the information mentioned may be changed or developed.

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

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

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

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

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