Mercurial > hg > Members > shoshi > TreeCMSv2
view src/treecms/tree/cassandra/v1/util/ConcurrentCassandraClientTest.java @ 10:4e0ed81bea89
added ConcurrentClient
author | shoshi |
---|---|
date | Tue, 19 Apr 2011 19:12:16 +0900 |
parents | |
children |
line wrap: on
line source
package treecms.tree.cassandra.v1.util; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import org.apache.cassandra.thrift.Cassandra; import org.apache.cassandra.thrift.ColumnOrSuperColumn; import org.apache.cassandra.thrift.ColumnPath; import org.apache.cassandra.thrift.ConsistencyLevel; import org.apache.cassandra.thrift.InvalidRequestException; import org.apache.cassandra.thrift.NotFoundException; import org.apache.cassandra.thrift.TimedOutException; import org.apache.cassandra.thrift.UnavailableException; import org.apache.thrift.TException; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; public class ConcurrentCassandraClientTest { public static void main(String _args[]) throws InterruptedException, ExecutionException, InvalidRequestException, NotFoundException, UnavailableException, TimedOutException, TException { String host = "misaka01.cr.ie.u-ryukyu.ac.jp"; int port = 9160; int count = 1000; System.out.println("Read benchmark."); ConcurrentCassandraClient conClient = ConcurrentCassandraClient.newInstance(host,port,7); ColumnPath path = new ColumnPath(); path.column_family = "Standard1"; path.column = "fuga".getBytes(); long start = System.currentTimeMillis(); for(int i = 0;i < count;i ++){ conClient.get("Keyspace1","hoge",path,ConsistencyLevel.ONE); } conClient.disconnect(); System.out.println("concurrent client time = "+(System.currentTimeMillis()-start)); TTransport tr = new TSocket(host,port); Cassandra.Client client = new Cassandra.Client(new TBinaryProtocol(tr)); tr.open(); start = System.currentTimeMillis(); for(int i = 0;i < count;i ++){ client.get("Keyspace1","hoge",path,ConsistencyLevel.ONE); } System.out.println("normal client time = "+(System.currentTimeMillis()-start)); System.out.println("Write benchmark"); conClient = ConcurrentCassandraClient.newInstance(host,port,30); start = System.currentTimeMillis(); for(int i = 0;i < count;i ++){ conClient.insert("Keyspace1","hoge",path,"piga".getBytes(),System.currentTimeMillis()/1000,ConsistencyLevel.ONE); } conClient.disconnect(); System.out.println("concurrent client time = "+(System.currentTimeMillis()-start)); start = System.currentTimeMillis(); for(int i = 0;i < count;i ++){ client.insert("Keyspace1","hoge",path,"piga".getBytes(),System.currentTimeMillis()/1000,ConsistencyLevel.ONE); } System.out.println("normal client time = "+(System.currentTimeMillis()-start)); } }