经过运维排查,所有的请求到达服务器后均在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_>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)