Hi All,
I met with a problem where the scan perfoamance decreases over time.
Hbase connections are kept in a data access service (in tomcat), and there are
table scan operations. The scan performance for each scan batch(~10 parallel
scan) increases as below:
day avg. cost(ms)
1 56.213115
2 43.697054
3 36.925063
4 50.683257
5 62.749022
6 84.943314
7 92.237783
8 94.452549
9 103.853937
10 114.725657
11 128.601287
The time cost for each remote scan batch is now over 100ms.
In order to make sure Hbase cluster is fine, I started another same data access
service, but find the time cost is around 30ms. So, I think hbase cluster is
fine and the problem is in the data access service, which is the client of
hbase.
I do believe there is some resource missed to release, but really have no idea
where it is.
I am using hbase 1.0.0-chd5.5.1.
Here is the code:
// the connection is created as a static instance:
connection=ConnectionFactory.createConnection(getConfiguration())
// scan logic for each remote call
try {
Table table = connection.getTable(tableName);
rs = table.getScanner(scan);
} finally {
rs.close();
table.close();
}
Thanks,
Wei