hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "huaxiang sun (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-16275) Change ServerManager#onlineServers from ConcurrentHashMap to ConcurrentSkipListMap
Date Tue, 26 Jul 2016 19:46:20 GMT

    [ https://issues.apache.org/jira/browse/HBASE-16275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15394424#comment-15394424
] 

huaxiang sun edited comment on HBASE-16275 at 7/26/16 7:45 PM:
---------------------------------------------------------------

Some numbers to share, tested with number of unique servers. The test program is attached.

{code}
Server count    100       200         500        1000          2000          3000        
   5000 
WithPatch        8(52)     13(228)    22(498)     47(1176)     150(3518)     309(7970)   
  855(20756)
WoPatch         8(102)    11(202)    16(341)     23(548)        34(823)        47(1114)  
     65(2192) 
{code}

the format is like N(M), N is the max time spent by one thread in Milliseconds, M is the total
time spent by all threads. It gives rough idea.


was (Author: huaxiang):
Some numbers to share, tested with number of unique servers. The test program is attached.

{code}
Server count    100       200         500        1000          2000         3000         
5000 
WithPatch        8(52)     13(228)    22(498)     47(1176)     150(3518)     309(7970)   
  855(20756)
WoPatch         8(102)    11(202)    16(341)     23(548)        34(823)        47(1114)  
     65(2192) 
{code}

the format is like N(M), N is the max time spent by one thread in Milliseconds, M is the total
time spent by all threads. It gives rough idea.

> Change ServerManager#onlineServers from ConcurrentHashMap to ConcurrentSkipListMap
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-16275
>                 URL: https://issues.apache.org/jira/browse/HBASE-16275
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>            Priority: Minor
>         Attachments: HBASE-16275-v001.patch, HBASE-16275-v002.patch, TestServerManagerPerf.java
>
>
> In Class ServerManager, onlineServers is declared as ConcurrentHashMap. In findServerWithSameHostnamePortWithLock(),
it has to do a loop to find if there is a ServerName with same host:port pair. If replaced
with ConcurrentSkipListMap, findServerWithSameHostnamePortWithLock() can be replaced with
a O(logN) implementation. 
> I run some performance comparison(test the function only), it seems that there is no
difference if there are 1000 servers. With more servers, ConcurrentSkipListMap implementation
is going to win big.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message