两台阿里 ECS 服务器 + 负载均衡, PHP + laravel 框架
在业务高峰期时, 安卓 APP 的所有 API 请求都超时了(15 秒)。但是同样由 laravel 提供服务的微信公众号网页内请求 API 则一切正常,响应正常
安卓 APP 通过 fiddler 抓包可以看出,都是超时了,整个都不能使用。但是同样的 API,我使用 postman 在 PC 上进行请求则一切正常,响应速度也正常。通过 fiddler 的 replay 进行重放请求,也响应正常。安卓手机和 PC 连的是同一个 wifi
高峰期期间,两台服务器,负载均衡服务器,数据库服务器从阿里云监控中可以看出都负载正常
在 PHP 的慢日志中确实多了很多日志, 而且有进程堵塞(知识盲区)
高峰期过后,安卓 APP 就正常了
大概就知道这些信息。从这些简单的信息中,各位能不能猜出是哪里出了什么问题
1
miao666 2019-09-07 21:57:32 +08:00 via iPhone
Session
|
3
GGGG430 2019-09-07 22:32:15 +08:00 via iPhone
开启 fpm 慢日志,可以定位到那一行代码出问题
|
4
Erroad 2019-09-07 22:37:24 +08:00
fpm-slow 日志是有导致响应慢的调用堆栈的,看下就知道是哪些代码慢了。你光说这些是不太能看出哪里有问题,忘记如果 php 进程不够用,会不会进 php-fpm-slow 了
|
5
CODEWEA 2019-09-07 23:29:35 +08:00
日志都没有?
|
6
hellojinjie 2019-09-07 23:41:25 +08:00
首先要确定这个超时是哪里超时了?是负载均衡的时候超时了,还是请求到了 laravel 才超时了?
最好在服务器端在 TCP 层面对 Android 访问和 PC 访问分别抓个包看看,分析下两者有什么区别 |
7
woshipanghu 2019-09-08 00:05:50 +08:00
检查下程序里有没有网络请求
curl file_get_contents 之类的找找 进程都网络请求都占了的话 就这样了。。。。 |
8
misaka19000 2019-09-08 00:08:04 +08:00
查日志啊。。。
|
9
akira 2019-09-08 01:54:13 +08:00
目测是 fpm 开的进程少了。
找个压测工具压一下你的服务器看看 |