情景如下:
Android应用程序向位于EC2实例上的POST/GET
应用程序提交ASP.NET MVC
个请求,然后通过SignalR
通知用户。
问题是,有没有办法测量从用户在手机上提交数据的那一刻起的确切时间(以毫秒为单位),直到该信息在浏览器中显示给最终用户。
我尝试从手机发送时间戳,将其发送给最终用户并计算javascript中的总时间,但这不可靠且准确。
有什么想法吗?
答案 0 :(得分:0)
我发现跟踪此类用例的时间的最佳方法是在每个阶段添加一个时间戳,在本例中为:client,asp.net,signalr。这样您就可以获得有关每个任务延迟的信息,即使客户端时间戳不可靠,我们仍然可以使用带边界的信息。当客户端时间戳距服务器时间戳太远时,您可以丢弃它。这是我之前用于跟踪Web服务延迟的一项工作中的设置。
答案 1 :(得分:0)
您可以设置一个代理,将来自手机的流量转发到后端。然后,代理可以为您提供从客户端应用程序发送请求的准确时间,以及响应从服务器后端返回的时间。
然而,它不会告诉您何时更新UI并且用户实际可以访问信息但是接收信息的应用程序和UI更新之间的延迟通常是不变的,因此您可以将该常量添加到测量
有关在移动设备上设置HTTP代理的详细信息:
How to change proxy settings in Android (especially in Chrome)
https://www.charlesproxy.com/documentation/faqs/using-charles-from-an-iphone/