MapR 初始 get 调用需要时间
MapR initial get calls taking time
我需要优化多线程分布式环境中 mapr 分发的获取操作所花费的时间 -
1) 数据服务在多个 JVM 上 运行。
2) 我正在使用 HTablePool(必须坚持使用不支持 ConnectionFactory 的客户端版本)并且在分析性能时发现使用 connection.getTable() 引入了 HOTSPOT.
问题 -
初始请求需要大约 1 秒(我认为这是因为客户端没有缓存资源来定位区域等)它花费了额外的时间。通常响应时间是几毫秒。
我需要澄清我对 -
1) 是不是每次我们得到一个新的池化 HTableInterface 时,都会延迟创建客户端缓存来定位区域服务器。
2) 如果客户端空闲(创建池但没有 activity),我观察到再次执行 get 调用需要大约 1 秒。是否可以让已经缓存的区域位置一直可用。
是否有任何我应该探索的客户端设置,以始终将响应时间保持在 200 毫秒以内。
谢谢
为了克服在 core-site 中的 属性 下面添加的过时连接。xml
fs.mapr.rpc.timeout => 400
不是每次都使用 connection.getTable,而是创建一次 HTable 并与多个线程一起使用。
用于 mapr 实现的 HTable 是线程安全的。
我需要优化多线程分布式环境中 mapr 分发的获取操作所花费的时间 -
1) 数据服务在多个 JVM 上 运行。 2) 我正在使用 HTablePool(必须坚持使用不支持 ConnectionFactory 的客户端版本)并且在分析性能时发现使用 connection.getTable() 引入了 HOTSPOT.
问题 - 初始请求需要大约 1 秒(我认为这是因为客户端没有缓存资源来定位区域等)它花费了额外的时间。通常响应时间是几毫秒。
我需要澄清我对 - 1) 是不是每次我们得到一个新的池化 HTableInterface 时,都会延迟创建客户端缓存来定位区域服务器。 2) 如果客户端空闲(创建池但没有 activity),我观察到再次执行 get 调用需要大约 1 秒。是否可以让已经缓存的区域位置一直可用。
是否有任何我应该探索的客户端设置,以始终将响应时间保持在 200 毫秒以内。
谢谢
为了克服在 core-site 中的 属性 下面添加的过时连接。xml
fs.mapr.rpc.timeout => 400
不是每次都使用 connection.getTable,而是创建一次 HTable 并与多个线程一起使用。
用于 mapr 实现的 HTable 是线程安全的。