V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
frozenway
V2EX  ›  问与答

webman 在高并发的时候有问题,不知道是什么原因造成的?

  •  
  •   frozenway · 2023-07-20 10:09:59 +08:00 · 1049 次点击
    这是一个创建于 501 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题 1: 在 9 点 32 分的时候通过php start.php status看 total_request 是 20930225.然后到了 9 点 45 分时再次通过php start.php status看 total_request 是 13360680 ,怎么请求量反而变少了?

    附上图片: 9 点 32 的截图: 11 9 点 45 分的截图: 22

    问题 2: 在 9 点 45 分的状态图中,发现有一个连接数最多的 webman 进程的 pid 是 4 位数的,而 9 点 32 分时看所有进程的 pid 都是 5 位数的,这个是什么原因造成的?

    6 条回复    2023-07-20 11:10:11 +08:00
    brader
        1
    brader  
       2023-07-20 10:24:08 +08:00   ❤️ 1
    我觉得没什么问题,应该是你理解错误。
    我理解的这个 total_request 的意思是这个进程,他在一段时间内一共处理了多少个请求,而不是指并发数的意思,这个东西,就和 PHP 的 pm.max_requests 有点类似,可能框架处于某些优化目的,也会定期重启或者回收进程,来重置一些内存泄露等问题,对应进程重启了,这个请求数的统计自然也重置了。

    我还有个疑问是,你是以什么判断依据,来判断 9 点 45 分 的并发就一定要比 9 点 32 分的并发高呢?
    me1onsoda
        2
    me1onsoda  
       2023-07-20 10:32:24 +08:00   ❤️ 1
    @brader op 并没有说这是并发数哦。就是因为他知道这是总请求数,才会有问题 1
    brader
        3
    brader  
       2023-07-20 10:43:04 +08:00   ❤️ 1
    @me1onsoda 能理解是总请求数的话,就像我上面说的,可能是重启或者回收进程,这个很正常的
    8355
        4
    8355  
       2023-07-20 10:49:39 +08:00   ❤️ 1
    pid 32216 内存占用太多应该被 kill 了或者内存溢出挂掉了

    上面 exit status = 65280 退出了 66 次排查啊。。。
    8355
        5
    8355  
       2023-07-20 10:52:47 +08:00   ❤️ 1
    每个进程起来都应该是 5m 不到 如果内存管理做的好应该是能够一直保持这个数字运行下去的,你这几个进程有明显内存增长应该是有运行什么代码导致内存溢出了 一直不释放且累加 随着请求数增长持续增长
    8355
        6
    8355  
       2023-07-20 11:10:11 +08:00   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1625 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:59 · PVG 00:59 · LAX 08:59 · JFK 11:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.