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

apache+ PHP 后端,超时问题

  •  
  •   yagamisam · 346 天前 · 1278 次点击
    这是一个创建于 346 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://stackoverflow.com/questions/56535851/delay-in-few-seconds-apache-response
    在 stackoverflow 上找到一个几乎一模一样的现象,但是下面好像没有答案,大家有遇到过并且解决了的吗?
    9 条回复    2024-03-16 17:16:54 +08:00
    zpfhbyx
        1
    zpfhbyx  
       346 天前
    fpm.slow.log 开一下看看
    yagamisam
        2
    yagamisam  
    OP
       346 天前
    @zpfhbyx 这个是看 php 运行缓慢的吗?好像不太一样。
    这边看起来像是 php 把数据返回给 apache 了,但是 apache 在大概 10 秒后才会发出网络包。
    这个系统平均并发在 600 左右。每天只会出现这个情况大概 300-400 次。
    zpfhbyx
        3
    zpfhbyx  
       346 天前
    你可以怀疑自己的代码..也不要怀疑 fpm 跟 apache...
    zpfhbyx
        4
    zpfhbyx  
       346 天前
    他们出事故的概率很低.
    8355
        5
    8355  
       346 天前
    其实就是你 phpfpm 的进程被并发打满导致的。
    假设你的每次请求执行需要 10 秒 fpm 有 3 个进程,只需要 3 个请求就可以占满所有。
    apache 的超时时间也是 10 秒 此时第 4 个请求进来就没有 fpm 去处理了,会由 apache 超时返回。
    这个是很基础的东西了,跟什么语言后端没什么关系。

    可以尝试看一下 php 配置文件的 max_child 是不是设置过小,可以尝试调大和附近几个相关的配置
    yagamisam
        6
    yagamisam  
    OP
       346 天前
    @8355 我检查一下这个看看。因为这是个私有化部署的系统,细节和技术方面我这边也不算太懂。
    上面的描述可能有误,并不是 apache 返回超时。
    第三方系统'C'向我们系统请求 api ,因为我们返回的太慢,C 系统弹窗提示超时。不过看 apache 的日志,虽然慢了很多,但还是把数据返回过去了的。
    还有个细节是,假设 C 系统向我这边发了 123456 个请求,可能 2 会慢,但是 13456 会正常发出。
    8355
        7
    8355  
       346 天前
    @yagamisam #6 猜到了,外包项目一般不给调配置,你就检查这个吧,开大点就行了。
    C603H6r18Q1mSP9N
        8
    C603H6r18Q1mSP9N  
       346 天前
    如果是因为并发上来了,加服务器 吧
    abccccabc
        9
    abccccabc  
       278 天前
    Àfter few days struggling find out, now it clearly my memcached touch function took the extra time. It hurt when xdebug never capture the delay and now im working to fix.it.. Anyway thank for all of you willing to help.

    人家不是回复了吗?我英文不好,猜测是 memcached 的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:54 · PVG 03:54 · LAX 11:54 · JFK 14:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.