使用hs4j - client 测试 http://www.blogjava.net/killme2008/archive/2011/01/04/339386.html
服务端设置:
w 设 1个
r 设 16个
测试代码:
HSClient hsClient = new HSClientImpl(new InetSocketAddress(9999)); //这个需要复用
IndexSession session = hsClient.openIndexSession(db, table, "PRIMARY", columns); //需要复用
final String[] keys = { "dennis", "killme2008@gmail.com" };
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是批量写的,估计丢数据的情况会比较严重