某次压力测试的代码段
来源:互联网 发布:淘宝怎么同步付款 编辑:程序博客网 时间:2024/04/29 04:59
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;import org.springframework.test.context.transaction.TransactionConfiguration;import org.testng.annotations.BeforeTest;import org.testng.annotations.Test;import java.util.concurrent.ConcurrentLinkedQueue;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import@ContextConfiguration(locations = { "classpath:conf/applicationContext.xml", "classpath:conf/spring/spring-db-source-test.xml", "classpath*:/conf/spring/spring-dal.xml", "classpath*:/conf/spring/spring-dal-shard.xml",})@TransactionConfiguration(defaultRollback = true)public class ReceiptSequenceNumberGenServiceImplTest extends AbstractTestNGSpringContextTests { Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private ReceiptSequenceNumberGenService receiptSequenceNumberGenService; @Autowired private IExpressBillService expressBillService; private static ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>(); @BeforeTest public void before() { } @Test public void testSeqNumber() throws Exception { final ExecutorService executorService = Executors.newFixedThreadPool(5); final ExecutorService executorService2 = Executors.newFixedThreadPool(250); CountDownLatch cd = new CountDownLatch(1); Runnable t1 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t2 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t3 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t4 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t5 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t6 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t7 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t8 = new Runnable() { @Override public void run() { while (true) { String seq = receiptSequenceNumberGenService.genSequenceNumberWithReceiptType("RKDD");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; executorService.execute(t1); executorService.execute(t2); executorService.execute(t3); executorService.execute(t4); executorService.execute(t5); executorService.execute(t6); executorService.execute(t7); executorService.execute(t8); executorService2.execute(new TestRunable(receiptSequenceNumberGenService)); cd.await(); executorService.shutdown(); executorService2.shutdown(); } private static class TestRunable implements Runnable { private ReceiptSequenceNumberGenService receiptSequenceNumberGenService; public TestRunable(ReceiptSequenceNumberGenService receiptSequenceNumberGenService) {// System.out.println(seq); this.receiptSequenceNumberGenService = receiptSequenceNumberGenService; } @Override public void run() {// assert (receiptSequenceNumberGenService.updateDuplicateData(seq) == true);// assert (); while (true) { String seq = queue.poll(); if (seq == null) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } else { assert (receiptSequenceNumberGenService.updateDuplicateData(seq)); } } } } @Test public void testExpressBill() throws InterruptedException { String seq = expressBillService.generateExpressBillNo(); System.out.println("seq:"+seq); final ExecutorService executorService = Executors.newFixedThreadPool(5); final ExecutorService executorService2 = Executors.newFixedThreadPool(250); CountDownLatch cd = new CountDownLatch(1); Runnable t1 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo();// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t2 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo();// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t3 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo();// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t4 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo();// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t5 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo();// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t6 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo("REWQ");// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t7 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo();// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t8 = new Runnable() { @Override public void run() { while (true) { String seq = expressBillService.generateExpressBillNo();// System.out.println("###" + seq); queue.add(seq); try { Thread.currentThread().sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } }; executorService.execute(t1); executorService.execute(t2); executorService.execute(t3); executorService.execute(t4); executorService.execute(t5); executorService.execute(t6); executorService.execute(t7); executorService.execute(t8); executorService2.execute(new TestRunable2(receiptSequenceNumberGenService)); cd.await(); executorService.shutdown(); executorService2.shutdown(); } private static class TestRunable2 implements Runnable { private ReceiptSequenceNumberGenService receiptSequenceNumberGenService; public TestRunable2(ReceiptSequenceNumberGenService receiptSequenceNumberGenService) {// System.out.println(seq); this.receiptSequenceNumberGenService = receiptSequenceNumberGenService; } @Override public void run() {// assert (receiptSequenceNumberGenService.updateDuplicateData(seq) == true);// assert (); while (true) { String seq = queue.poll(); if (seq == null) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } else { assert (receiptSequenceNumberGenService.updateDuplicateData(seq) == true); } } } } @Test public void testGenID() throws Exception { final ExecutorService executorService = Executors.newFixedThreadPool(5); final ExecutorService executorService2 = Executors.newFixedThreadPool(250); CountDownLatch cd = new CountDownLatch(1); Runnable t1 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t2 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t3 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t4 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t5 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t6 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t7 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Runnable t8 = new Runnable() { @Override public void run() { while (true) { Long seq = receiptSequenceNumberGenService.genReceiptPrimaryKey("RKDD");// System.out.println("###" + seq); queue.add(seq.toString()); try { Thread.currentThread().sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }; executorService.execute(t1); executorService.execute(t2); executorService.execute(t3); executorService.execute(t4); executorService.execute(t5); executorService.execute(t6); executorService.execute(t7); executorService.execute(t8); executorService2.execute(new TestRunable(receiptSequenceNumberGenService)); cd.await(); executorService.shutdown(); executorService2.shutdown(); }}
0 0
- 某次压力测试的代码段
- 两个简单的压力测试代码。
- C语言实现的压力测试代码
- 压力测试代码
- python 压力测试代码
- 测试程序片段执行时间的代码段
- 来段测试代码。
- 代码段排版测试
- 测试代码段
- 测试代码段
- Java测试代码段
- Java 测试代码段
- 简单 Http 压力测试代码
- java代码线程压力测试
- 服务器的压力测试
- 压力测试的步骤
- 简单的压力测试
- MONGODB的压力测试
- bzoj1222: [HNOI2001]产品加工
- Java注解(1)
- leaflet知识整理
- MySQL设计规范与性能优化
- 遗传算法java实现
- 某次压力测试的代码段
- 统计某个整数的二进制形式中1的个数
- 简单WebView使用播放视频停止
- 【google code jam Qualification Round 2017】【Tidy Numbers】【搜索】
- char* const p,const char* p, char const* p 的区别
- jQuery ajax跨域请求
- 阻击外挂——《龙之谷手游》安全测试的那点事
- Hadoop的PathFilter使用
- 集训4.10-篮球赛