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

Guozhang Wang edited comment on KAFKA-2160 at 5/15/15 10:27 PM:
----------------------------------------------------------------

Ran kafka.TestPurgatoryPerformance to compare the performance of purgatory 
against trunk.

Setup: request rate = 1000 / sec, latency pct50 = 50ms, pct75 = 75ms, each 
request has 3 keys. Test with varying total key space size (with more keys it 
is more likely that some key's watch list gets empty and hence can be removed). 

The following table shows elapsed time (ms):

||#.keys||100||1000||10000||10000||100000||
|trunk (without global lock)|100339|100616|100018|100280|100324|
|K2160 (with global lock)|100157|100270|100330|99934|99867|


was (Author: guozhang):
Ran kafka.TestPurgatoryPerformance to compare the performance of purgatory 
against trunk.

Setup: request rate = 1000 / sec, latency pct50 = 50ms, pct75 = 75ms, each 
request has 3 keys. Test with varying total key space size (with more keys it 
is more likely that some key's watch list gets empty and hence can be removed). 

The following table shows elapsed time (ms):

||#.keys||100||1000||10000||10000||100000||
|trunk (without global lock)|100339|100616|100018|100280|100324|
|K2160 (with global lock)|100157|100270||100330|99934|99867|

> DelayedOperationPurgatory should remove the pair in watchersForKey with empty 
> watchers list
> -------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-2160
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2160
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Guozhang Wang
>            Assignee: Guozhang Wang
>         Attachments: KAFKA-2160.patch, KAFKA-2160.patch, 
> KAFKA-2160_2015-04-30_15:20:14.patch, KAFKA-2160_2015-05-06_16:31:48.patch
>
>
> With purgatory usage in consumer coordinator, it will be common that watcher 
> lists are very short and live only for a short time. So we'd better clean 
> them from the watchersForKey Pool once the list become empty in 
> checkAndComplete() calls. 



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

Reply via email to