我遇到了这样的问题。我有Client(只是网页)和Server(一些处理客户请求的Java控制器)。
1)客户端向服务器发送API请求(POST或GET)并以JSON格式获取响应。
2)当服务器收到来自客户端的请求时,它会在DB中保存API请求以进行统计(用户ID,时间戳,API请求类型等)。另外,我需要保存此API请求的Bandwidth / ConnectionSpeed。
问题:有任何想法或建议如何解决这个问题?
答案 0 :(得分:0)
从Java的角度来看,这并不容易。您可以监视收到请求的时间以及将答案返回给用户的时间。您还可以保存JSON字符串的大小并进行计算,但这只是有限的信息,因为您只会根据JSON字符串测量服务器的最终吞吐量。这不仅与服务器网络状况有关,还与当前服务器性能,甚至客户端性能能力有关。
您可能还尝试使用某些特定于操作系统的工具来嗅探某些软件包,然后将其添加到数据库中,但是在应用程序内部不能使用API,您必须找到一个技巧来将其映射到您的软件包(例如,每个JSON字符串都需要具有唯一的ID)。
另一种选择是查看您的体系结构,检查涉及哪些SW和HW组件,可能某些(反向)代理服务器或负载均衡器可以为您提供所需的一些信息。