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

两台阿里 ECS 服务器 + 负载均衡, PHP + laravel 框架, 在业务高峰期时

  •  
  •   yuann72 · 2019-09-07 21:29:47 +08:00 · 2533 次点击
    这是一个创建于 1905 天前的主题,其中的信息可能已经有所发展或是发生改变。

    两台阿里 ECS 服务器 + 负载均衡, PHP + laravel 框架
    在业务高峰期时, 安卓 APP 的所有 API 请求都超时了(15 秒)。但是同样由 laravel 提供服务的微信公众号网页内请求 API 则一切正常,响应正常
    安卓 APP 通过 fiddler 抓包可以看出,都是超时了,整个都不能使用。但是同样的 API,我使用 postman 在 PC 上进行请求则一切正常,响应速度也正常。通过 fiddler 的 replay 进行重放请求,也响应正常。安卓手机和 PC 连的是同一个 wifi
    高峰期期间,两台服务器,负载均衡服务器,数据库服务器从阿里云监控中可以看出都负载正常
    在 PHP 的慢日志中确实多了很多日志, 而且有进程堵塞(知识盲区)
    高峰期过后,安卓 APP 就正常了
    大概就知道这些信息。从这些简单的信息中,各位能不能猜出是哪里出了什么问题

    9 条回复    2019-09-08 01:54:13 +08:00
    miao666
        1
    miao666  
       2019-09-07 21:57:32 +08:00 via iPhone
    Session
    yuann72
        2
    yuann72  
    OP
       2019-09-07 22:03:49 +08:00
    @miao666 #1 用的 token,所以 session 没有开
    GGGG430
        3
    GGGG430  
       2019-09-07 22:32:15 +08:00 via iPhone
    开启 fpm 慢日志,可以定位到那一行代码出问题
    Erroad
        4
    Erroad  
       2019-09-07 22:37:24 +08:00
    fpm-slow 日志是有导致响应慢的调用堆栈的,看下就知道是哪些代码慢了。你光说这些是不太能看出哪里有问题,忘记如果 php 进程不够用,会不会进 php-fpm-slow 了
    CODEWEA
        5
    CODEWEA  
       2019-09-07 23:29:35 +08:00
    日志都没有?
    hellojinjie
        6
    hellojinjie  
       2019-09-07 23:41:25 +08:00
    首先要确定这个超时是哪里超时了?是负载均衡的时候超时了,还是请求到了 laravel 才超时了?

    最好在服务器端在 TCP 层面对 Android 访问和 PC 访问分别抓个包看看,分析下两者有什么区别
    woshipanghu
        7
    woshipanghu  
       2019-09-08 00:05:50 +08:00
    检查下程序里有没有网络请求
    curl file_get_contents 之类的找找
    进程都网络请求都占了的话 就这样了。。。。
    misaka19000
        8
    misaka19000  
       2019-09-08 00:08:04 +08:00
    查日志啊。。。
    akira
        9
    akira  
       2019-09-08 01:54:13 +08:00
    目测是 fpm 开的进程少了。
    找个压测工具压一下你的服务器看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2892 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:25 · PVG 22:25 · LAX 06:25 · JFK 09:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.