handlerSocket在实际中的测试

使用hs4j - client 测试  http://www.blogjava.net/killme2008/archive/2011/01/04/339386.html

服务端设置:

w 设 1个

r   设 16个

 

测试代码:

HSClient hsClient = new HSClientImpl(new InetSocketAddress(9999));  //这个需要复用

/**

db是库名,table是表名,

"PRIMARY" 表示索引的名字, 该需要跟keys对应,如果索引里有2个字段,那keys也需要2个字段

columns  表示需要返回的字段

所以openIndexSession 是对应的级别到索引的,如果你分库分表然后索引又多,就比较杯具了

**/

IndexSession session = hsClient.openIndexSession(db, table, "PRIMARY", columns);  //需要复用

 

final String[] keys = { "dennis""[email protected]" };
                ResultSet rs 
= session.find(keys);
                
while(rs.next()){
                   String name
=rs.getString(1);
                   String mail
=rs.getString(2);
                }

 

 

测试结果:

1. 读在BP全部命中的情况下,会比jdbc的性能提高30%左右

2. 读在大部分走IO的情况下,HS的性能反而比JDBC差很多。这个查看server端代码可以得到验证,hs在服务端是批量去读的,要等到所有的请求都取到,才会返回,如果其中有个请求慢了,会导致全部请求都慢

3. 写的性能,HS会有很大的提高,因为hs是批量写的,估计丢数据的情况会比较严重

 

 

 

你可能感兴趣的:(html,.net,jdbc,Gmail)