init
This commit is contained in:
62
did-sdk/src/test/java/cn/ceres/did/DidSdkPressAsyncTest.java
Normal file
62
did-sdk/src/test/java/cn/ceres/did/DidSdkPressAsyncTest.java
Normal file
@@ -0,0 +1,62 @@
|
||||
package cn.ceres.did;
|
||||
|
||||
import cn.ceres.did.client.InvokeCallback;
|
||||
import cn.ceres.did.client.ResponseFuture;
|
||||
import cn.ceres.did.client.SdkClient;
|
||||
import cn.ceres.did.sdk.SdkProto;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 异步请求压测
|
||||
*
|
||||
* @author ehlxr
|
||||
*/
|
||||
public class DidSdkPressAsyncTest {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DidSdkPressAsyncTest.class);
|
||||
// 初始发送总量
|
||||
private static int NUM = 80000;
|
||||
|
||||
@Test
|
||||
public void pressAsyncTest() throws Exception {
|
||||
SdkClient client = new SdkClient();
|
||||
client.init();
|
||||
client.start();
|
||||
|
||||
long start;
|
||||
long end;
|
||||
long cast;
|
||||
long amount = 0;
|
||||
long allcast = 0;
|
||||
|
||||
for (int k = 0; k < 10; k++) {
|
||||
final CountDownLatch countDownLatch = new CountDownLatch(NUM);
|
||||
start = System.currentTimeMillis();
|
||||
for (int i = 0; i < NUM; i++) {
|
||||
final SdkProto sdkProto = new SdkProto();
|
||||
client.invokeAsync(sdkProto, 5000, new InvokeCallback() {
|
||||
@Override
|
||||
public void operationComplete(ResponseFuture responseFuture) {
|
||||
countDownLatch.countDown();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
end = System.currentTimeMillis();
|
||||
cast = (end - start);
|
||||
allcast += cast;
|
||||
countDownLatch.await(10, TimeUnit.SECONDS);
|
||||
|
||||
logger.info("invokeAsync test num is: {}, cast time: {} millsec, throughput: {} send/millsec", NUM, cast, (double) NUM / cast);
|
||||
amount += NUM;
|
||||
NUM = NUM + 5000;
|
||||
TimeUnit.SECONDS.sleep(2);
|
||||
}
|
||||
|
||||
logger.info("invokeAsync test all num is: {}, all cast time: {} millsec, all throughput: {} send/millsec", amount, allcast, (double) amount / allcast);
|
||||
}
|
||||
}
|
||||
52
did-sdk/src/test/java/cn/ceres/did/DidSdkPressSyncTest.java
Normal file
52
did-sdk/src/test/java/cn/ceres/did/DidSdkPressSyncTest.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package cn.ceres.did;
|
||||
|
||||
import cn.ceres.did.client.SdkClient;
|
||||
import cn.ceres.did.sdk.SdkProto;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 同步请求压测
|
||||
*
|
||||
* @author ehlxr
|
||||
*/
|
||||
public class DidSdkPressSyncTest {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DidSdkPressSyncTest.class);
|
||||
private static int NUM = 60000;
|
||||
|
||||
@Test
|
||||
public void pressSyncTest() throws Exception {
|
||||
SdkClient client = new SdkClient();
|
||||
client.init();
|
||||
client.start();
|
||||
|
||||
long start;
|
||||
long end;
|
||||
long cast;
|
||||
long amount = 0;
|
||||
long allcast = 0;
|
||||
|
||||
for (int k = 0; k < 20; k++) {
|
||||
start = System.currentTimeMillis();
|
||||
for (int i = 0; i < NUM; i++) {
|
||||
final SdkProto sdkProto = new SdkProto();
|
||||
client.invokeSync(sdkProto, 5000);
|
||||
}
|
||||
|
||||
end = System.currentTimeMillis();
|
||||
cast = (end - start);
|
||||
allcast += cast;
|
||||
|
||||
logger.info("invokeSync test num is: {}, cast time: {} millsec, throughput: {} send/millsec", NUM, cast, (double) NUM / cast);
|
||||
|
||||
amount += NUM;
|
||||
NUM += 5000;
|
||||
TimeUnit.SECONDS.sleep(2);
|
||||
}
|
||||
|
||||
logger.info("invokeSync test all num is: {}, all cast time: {} millsec, all throughput: {} send/millsec", amount, allcast, (double) amount / allcast);
|
||||
}
|
||||
}
|
||||
51
did-sdk/src/test/java/cn/ceres/did/DidSdkTest.java
Normal file
51
did-sdk/src/test/java/cn/ceres/did/DidSdkTest.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package cn.ceres.did;
|
||||
|
||||
import cn.ceres.did.client.InvokeCallback;
|
||||
import cn.ceres.did.client.ResponseFuture;
|
||||
import cn.ceres.did.client.SdkClient;
|
||||
import cn.ceres.did.sdk.SdkProto;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* @author ehlxr
|
||||
*/
|
||||
public class DidSdkTest {
|
||||
private static final int NUM = 100;
|
||||
|
||||
@Test
|
||||
public void didSdkTest() throws Exception {
|
||||
SdkClient client = new SdkClient();
|
||||
client.init();
|
||||
client.start();
|
||||
|
||||
// 测试同步请求,关注rqid是否对应
|
||||
for (int i = 0; i < NUM; i++) {
|
||||
SdkProto sdkProto = new SdkProto();
|
||||
System.out.println(i + " sendProto: " + sdkProto.toString());
|
||||
SdkProto resultProto = client.invokeSync(sdkProto, 2000);
|
||||
System.out.println(i + " resultProto: " + resultProto.toString());
|
||||
}
|
||||
System.out.println("invokeync test finish");
|
||||
|
||||
// 测试异步请求,关注rqid是否对应
|
||||
final CountDownLatch countDownLatch = new CountDownLatch(NUM);
|
||||
for (int i = 0; i < NUM; i++) {
|
||||
final SdkProto sdkProto = new SdkProto();
|
||||
final int finalI = i;
|
||||
client.invokeAsync(sdkProto, 2000, new InvokeCallback() {
|
||||
@Override
|
||||
public void operationComplete(ResponseFuture responseFuture) {
|
||||
System.out.println(finalI + " sendProto: " + sdkProto.toString());
|
||||
countDownLatch.countDown();
|
||||
System.out.println(finalI + " resultProto: " + responseFuture.getSdkProto().toString());
|
||||
}
|
||||
});
|
||||
}
|
||||
countDownLatch.await(10, TimeUnit.SECONDS);
|
||||
System.out.println("invokeAsync test finish");
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user