基准时间HBase刷新新写入的表所需的时间

基准时间HBase刷新新写入的表所需的时间,hbase,benchmarking,Hbase,Benchmarking,我试图确定在HBase表上使用列族压缩会对写入性能造成的损失。但是,用于启动刷新(admin.flush(tableName))的API是一个异步、非阻塞操作。如何确定将一批put刷新到磁盘需要多长时间 更新:我目前的目标是HBase 0.94.2,因此确认admin.flush是异步的。通过调用flush,您正在强制HBase刷新memstore,这将导致性能不佳 为什么你不能通过grep区域服务器来记录刷新memstore需要多长时间? cat hbase regionserver*.log

我试图确定在HBase表上使用列族压缩会对写入性能造成的损失。但是,用于启动刷新(
admin.flush(tableName)
)的API是一个异步、非阻塞操作。如何确定将一批put刷新到磁盘需要多长时间


更新:我目前的目标是HBase 0.94.2,因此确认admin.flush是异步的。

通过调用flush,您正在强制HBase刷新memstore,这将导致性能不佳

为什么你不能通过grep区域服务器来记录刷新memstore需要多长时间? cat hbase regionserver*.log | grep“已完成内存存储刷新”


您将获得刷新的大小(MB)及其所用的时间。

admin.flush(tableNameOrRegionName)
是一个同步操作,而不是异步操作。看
您可以简单地使用
time
命令了解PUT操作所花费的时间,或者使用java-使用
System.nanoTime()

这不是针对应用程序,而是针对misc。业绩评价。是否有可能通过Java API获取特定表的memstore刷新信息?这是自我当前瞄准的HBase版本以来的一个变化:很久以后才接受这个答案,因为我的HBase(现在非常)旧版本的问题应该在大多数环境中得到解决。否则,似乎不可能以这种方式描述性能。