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