package org.teiid.test.client; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; public class PortfolioPerfClient { static AtomicInteger ID = new AtomicInteger(1); static AtomicLong connCount = new AtomicLong(0); static AtomicLong reqCount = new AtomicLong(0); public static void main(String[] args) { // 16790 16653 16652 // 20100 int num = Runtime.getRuntime().availableProcessors() * 2; final long start = System.currentTimeMillis(); while(num > 0) { new Thread(new Runnable(){ @Override public void run() { Thread.currentThread().setName("client-thread-" + ID.getAndIncrement()); for(int i = 0 ; i < 500 ; i ++) { try { PortfolioClient.test(); connCount.addAndGet(1); reqCount.addAndGet(4); } catch (Exception e) { Thread.currentThread().interrupt(); } } System.out.println(Thread.currentThread().getName() + " exit. Connection Count: " + connCount.get() + ", Request Count: " + reqCount.get() + ", commands insert: " + reqCount.get() * 20 + ", Time consume: " + (System.currentTimeMillis() - start) / 1000); }}).start(); num -- ; } } }