记一次微信小程序页面加载慢的排查过程

记一次微信小程序页面加载慢的排查过程,第1张

公司新上线了一个微信小程序,在测试环境以及小程序体验版上测试一切正常,但上线之后,页面加载尤其慢。

经过运维排查,所有的请求到达服务器后均在1s内处理完成并响应,偶尔有2-3s的请求,极少。

既然服务端处理请求没有问题,那么,加载可能出现在小程序本身或网络延迟,但后者可能性较低。于是,使用fiddler抓包,其中一个加载较慢的请求结果如下:

关键时间节点如下:

· 客户端与服务器完成tcp链接时间是11:31:35(时分秒)
· 客户端开始向服务端发送请求的时间是11:31:36(时分秒)
· 服务端接收到请求的时间是11:31:36(时分秒)
· 服务端开始响应的时间是11:31:46(时分秒)

也就是说,从服务器接收到请求到开始响应耗时10s,可这跟运维查看的日志结果不符!

鉴于上面的抓包结果和生产日志结果相悖,决定使用curl对耗时较长的>

php接口无法调用远程数据,能抓取外网(如果内网外服务器),网络应该没问题,看程序是否报错跟错误来解决,断点打印下去;fsockopen打开接口一般都比正常状况慢受keepalive 影响,查看下你的连接是否对,一般是只连接一次:先判断有没有连接,如果有,继续用,如果没有,建立pfsockopen连接。;

2看下你fsockopen打开延迟时间是否大于服务器响应延迟时间:这个default_socket_timeout,以及服务器的timeout时间对比下,修改下就可以;

这个貌似你的web服务器启动的时候还无法解析网络造成的,简单的办法就是在确定你现在可以解析 的情况下 重启你的 web服务器
还有就是强制PHP直接请求对该网址进行解析不使用现有cache
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10861409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存