This commit is contained in:
2018-08-14 15:21:56 +08:00
commit 22789bb131
51 changed files with 2024 additions and 0 deletions

View 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);
}
}

View 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);
}
}

View 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");
}
}