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

2019-09-07 21:29:47 +08:00
 yuann72

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

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

最好在服务器端在 TCP 层面对 Android 访问和 PC 访问分别抓个包看看,分析下两者有什么区别
woshipanghu
2019-09-08 00:05:50 +08:00
检查下程序里有没有网络请求
curl file_get_contents 之类的找找
进程都网络请求都占了的话 就这样了。。。。
misaka19000
2019-09-08 00:08:04 +08:00
查日志啊。。。
akira
2019-09-08 01:54:13 +08:00
目测是 fpm 开的进程少了。
找个压测工具压一下你的服务器看看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/598904

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX