java测试服务端并发
int count = 500;
long starttime = SystemClock.elapsedRealtime();
AtomicInteger succeed = new AtomicInteger();
AtomicInteger failed = new AtomicInteger();
AtomicInteger totaltime = new AtomicInteger();
for (int i = 0; i < count; i++) {
final Thread thread = new Thread(() -> {
String string = "";
try {
final Response response = OkHttpUtils.getSyn(null, HttpUrl.GET_USER_ROLE_INFO, new Param(), OkHttpUtils.DEFAULT_MILLISECONDS);
string = response.body().string();
final UserRoleBean userRoleBean = GlobalParams.GSON.fromJson(string, UserRoleBean.class);
if (userRoleBean.getResult() != 0) {
throw new Exception();
}
succeed.incrementAndGet();
totaltime.addAndGet((int) (SystemClock.elapsedRealtime() - starttime));
} catch (Exception e) {
e.printStackTrace();
Logger.d("response", string);
failed.incrementAndGet();
}
if (succeed.get() + failed.get() == count) {
long endTime = SystemClock.elapsedRealtime();
Logger.d("requestRole", succeed + "," + failed + "," + (endTime - starttime) + "," + (totaltime.get() / succeed.get()));
}
});
thread.start();
}