我有一个严重依赖网络IO请求的系统。我想进行可靠的性能测试。一种幼稚的方法可能是使线程休眠一段时间。
我的问题是,我使线程进入睡眠状态是否等于在HTTP请求中被阻塞的线程?
我是从Thread Lifecycle的角度来问这个问题。从理论上讲,如果一个HTTP请求将花费一个恒定且已知的时间,那等于Thread.sleep吗?
换句话说,测试结果是否相同? (当然,在某种程度上,因为调度被认为是不确定的)
答案 0 :(得分:1)
目前尚不清楚您要在这里测试什么。
通常来说,在测试中使用Thread.sleep()
并不是一个好习惯。
如果要测试应用程序,则应该使用模拟服务器模拟正在调用的另一个端点。
答案 1 :(得分:1)
使用线程睡眠来模拟http调用是一种不好的做法。最好使用实际的http调用。如果您无法将真正的http请求发送到远程服务,则可以使用Wiremock模拟这些服务