2016-11-08 13 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是線程安全的。