2016-11-08 16 views
0

我需要优化GET操作采取MAPR分布伊娜多线程分布式环境中的时间 -MAPR初始的get调用抽空

1)数据服务在多个JVM的运行。 2)我使用HTablePool(必须坚持客户端版本不支持ConnectionFactory),而性能分析发现使用connection.getTable()引入了HOTSPOT。

问题- 初始请求需要约1秒(我相信是因为客户端没有缓存资源来定位区域等),所以花了额外的时间。通常响应时间是几毫秒。

我需要清除我的理解 - 1)是否每当我们获得一个新的池化HTableInterface时,都会延迟创建客户端缓存来定位区域服务器。 2)如果客户端空闲(池已创建但没有活动),我观察到再次执行get调用需要约1秒。是否有可能始终保持已经缓存的区域位置。

是否有任何客户端设置,我应该探索始终保持响应时间小于200毫秒。

感谢

回答

0

克服连接越来越陈旧添加以下属性核心-site.xml中

fs.mapr.rpc.timeout => 400

而不是每次都使用connection.getTable ,创建一次HTable并与多个线程一起使用。

用于mapr实现的HTable是线程安全的。