webman本地响应时间很快,部署到线上就很慢了,已解决,网络延迟问题

owenzhang

问题描述

webman本地响应时间很快,部署到线上就很慢了,帮忙看下,谢谢
为什么差别这么大,响应时间查了100倍

本地:
Windows开发,16G,连接数据库也是本地的,mysql5.7,响应时间36ms
截图

线上:
Dabian开发,海外亚马逊云服务器,Linux内核调优也处理了,
2核4G,连接数据库也是本地的,mysql8.0,响应时间513ms
截图

已解决,属于网络延迟,本地是大陆访问国外有网络延迟,我用海外服务器进行访问就没问题了,具体可以用curl命令,可以使用 curl 的 -w 参数,并结合 %{time_total} 来获取总请求时间,总体耗时在30毫秒,和我本地Windows开发时间差不多,

curl -X POST https://r.o.bet/api/v1/tools/rsaTest -H "Content-Type: application/json" -d '{"mchId":280,"tax":"479"}' -w "\nTime Total: %{time_total}s\n"
366 3 0
3个回答

nitron

有没有可能,我是说可能啊,是网络的问题?
判断应用执行快慢,看接口的实际运行时间,而不是接口的响应时间

ontheway

你在接口控制器方法的开始记录一个时间$s = microtime(true);在return之前记录一个结束时间$e = microtime(true);
得到执行使用时间$use = $e - $s;然后在return里面返回,看看就知道了。

  • owenzhang 2024-11-20

    这是好办法,我测试了,本地和线上都一样,那说明没问题,是海外服务器,网络延迟?

  • nitron 2024-11-20

    他图二的连接开始请求/响应的时间都要将近250ms,99%是网络的问题,毕竟服务器在海外

  • owenzhang 2024-11-20

    嗯嗯,谢谢nitron

释永战

你用你的海外服务器请求看看会不会慢···

  • owenzhang 2024-11-21

    OK,谢谢,我怎么就没想到这点呢,哈哈,还是长老厉害!

  • owenzhang 2024-11-21

    是的,我刚才查了,不同的海外服务器访问时间都不一样,要么200MS,要么20MS,但大部分都是20MS,那就没问题了,谢谢长老

×
🔝