cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "T Jake Luciani (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5582) Replace CustomHsHaServer with better oprtimized solution based on LMAX Disruptor.
Date Mon, 20 May 2013 02:39:16 GMT

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

T Jake Luciani commented on CASSANDRA-5582:
-------------------------------------------

I tried this and was surprised to see the trunk hsha was faster than this patch... 

Here are my numbers

Trunk HSHA
{code}
jluciani:tools/ (trunk✗) $ ./bin/cassandra-stress -n 4000000                           
                                                                                         
       [21:43:42]
Created keyspaces. Sleeping 1s for propagation.
total,interval_op_rate,interval_key_rate,latency,95th,99th,elapsed_time
104636,10463,10463,2.8,12.8,93.3,10
264277,15964,15964,2.5,7.4,73.4,20
400862,13658,13658,2.6,7.4,73.4,30
551484,15062,15062,2.6,7.2,113.4,40
656363,10487,10487,2.6,8.3,113.4,51
787972,13160,13160,2.7,8.7,62.4,61
943934,15596,15596,2.6,6.9,62.3,71
1086619,14268,14268,2.6,6.5,62.3,81
1196122,10950,10950,2.6,6.9,125.7,92
1335264,13914,13914,2.6,7.1,125.7,102
1506565,17130,17130,2.5,6.0,113.3,112
1677018,17045,17045,2.4,5.7,113.3,122
1846083,16906,16906,2.4,5.6,111.5,132
2028642,18255,18255,2.3,5.5,111.5,143
2174955,14631,14631,2.3,5.5,112.7,153
2276418,10146,10146,2.4,5.7,112.7,163
2382601,10618,10618,2.4,6.5,112.7,173
2526749,14414,14414,2.5,6.0,112.7,184
2655834,12908,12908,2.6,7.0,112.7,194
2791234,13540,13540,2.6,6.9,212.5,204
2980432,18919,18919,2.5,5.9,213.0,214
3152839,17240,17240,2.5,5.8,213.0,224
3322844,17000,17000,2.5,5.8,215.2,235
3505263,18241,18241,2.5,5.5,215.2,245
3684394,17913,17913,2.3,5.3,215.2,255
3863978,17958,17958,2.2,5.1,215.2,265
4000000,13602,13602,2.0,5.1,202.3,275


Averages from the middle 80% of values:
interval_op_rate          : 14731
interval_key_rate         : 14731
latency median            : 2.5
latency 95th percentile   : 6.5
latency 99.9th percentile : 128.2
Total operation time      : 00:04:35
END
jluciani:tools/ (trunk✗) $ ./bin/cassandra-stress -n 4000000 -o read                   
                                                                                         
       [21:49:14]
total,interval_op_rate,interval_key_rate,latency,95th,99th,elapsed_time
105128,10512,10512,3.4,12.6,45.2,10
268987,16385,16385,3.0,5.8,32.8,20
443397,17441,17441,2.9,5.0,32.8,30
626750,18335,18335,2.7,4.6,32.8,40
812642,18589,18589,2.6,4.4,32.8,50
1002012,18937,18937,2.6,4.2,32.8,61
1194865,19285,19285,2.5,4.1,32.8,71
1385800,19093,19093,2.5,4.1,36.0,81
1579409,19360,19360,2.5,4.0,33.2,91
1777652,19824,19824,2.5,3.9,33.2,101
1975122,19747,19747,2.4,3.8,33.2,112
2174320,19919,19919,2.4,3.8,33.2,122
2356130,18181,18181,2.4,3.8,33.2,132
2553115,19698,19698,2.4,3.8,33.2,142
2750741,19762,19762,2.4,3.8,33.5,152
2951876,20113,20113,2.4,3.8,33.5,163
3143606,19173,19173,2.4,3.8,33.5,173
3340625,19701,19701,2.4,3.7,33.5,183
3541574,20094,20094,2.4,3.7,32.8,193
3741325,19975,19975,2.3,3.7,32.8,203
3926265,18494,18494,2.2,3.5,32.8,214
4000000,7373,7373,2.2,3.5,32.8,219

Averages from the middle 80% of values:
interval_op_rate          : 19250
interval_key_rate         : 19250
latency median            : 2.5
latency 95th percentile   : 4.0
latency 99.9th percentile : 33.3
Total operation time      : 00:03:39
END

{code}

This patch
{code}
jluciani:tools/ (trunk✗) $ ./bin/cassandra-stress -n 4000000                           
                                                                                         
       [21:57:09]
Created keyspaces. Sleeping 1s for propagation.
total,interval_op_rate,interval_key_rate,latency,95th,99th,elapsed_time
53262,5326,5326,5.5,25.4,158.3,10
192313,13905,13905,3.2,13.4,158.0,20
324275,13196,13196,3.2,9.0,83.0,30
447315,12304,12304,3.2,7.0,83.0,40
564204,11688,11688,3.2,7.1,82.9,51
677304,11310,11310,3.3,7.0,82.9,61
805181,12787,12787,3.3,7.0,82.9,71
955200,15001,15001,3.1,6.3,82.6,81
1074254,11905,11905,3.2,6.3,82.6,91
1175225,10097,10097,3.2,6.5,113.4,102
1307670,13244,13244,3.2,6.4,113.4,112
1456159,14848,14848,3.1,6.2,82.6,122
1604168,14800,14800,3.1,5.9,142.0,132
1744811,14064,14064,3.0,5.5,142.0,142
1916217,17140,17140,2.9,5.4,143.1,153
2057517,14130,14130,2.9,5.4,143.1,163
2171001,11348,11348,2.9,5.6,143.1,173
2269043,9804,9804,3.1,6.4,143.1,183
2366316,9727,9727,3.2,6.9,143.1,193
2459820,9350,9350,3.3,7.5,143.1,204
2550311,9049,9049,3.4,8.5,143.1,214
2637440,8712,8712,3.5,8.1,141.4,224
2734691,9725,9725,3.6,8.1,141.4,234
2861857,12716,12716,3.5,7.6,141.4,245
3006154,14429,14429,3.3,7.3,143.2,255
3120329,11417,11417,3.3,7.3,155.9,265
3256086,13575,13575,3.2,7.0,155.9,275
3367218,11113,11113,3.3,6.9,155.9,285
3511295,14407,14407,3.2,6.5,153.5,296
3644578,13328,13328,3.1,6.5,153.5,306
3776019,13144,13144,3.0,6.4,156.7,316
3888436,11241,11241,2.8,6.2,156.7,326
4000000,11156,11156,2.6,6.1,156.7,335


Averages from the middle 80% of values:
interval_op_rate          : 12257
interval_key_rate         : 12257
latency median            : 3.2
latency 95th percentile   : 6.8
latency 99.9th percentile : 126.2
Total operation time      : 00:05:35
END
jluciani:tools/ (trunk✗) $ ./bin/cassandra-stress -n 4000000 -o read                   
                                                                                         
       [22:25:10]
total,interval_op_rate,interval_key_rate,latency,95th,99th,elapsed_time
64286,6428,6428,4.9,20.9,129.1,10
180799,11651,11651,4.1,12.8,84.1,20
303741,12294,12294,3.9,9.6,84.0,30
434113,13037,13037,3.8,7.4,84.3,40
564535,13042,13042,3.7,7.3,84.4,51
701376,13684,13684,3.6,6.8,39.0,61
831301,12992,12992,3.5,6.2,33.8,71
958285,12698,12698,3.5,6.4,33.8,81
1095661,13737,13737,3.4,6.2,33.8,91
1230110,13444,13444,3.4,6.0,33.8,102
1366013,13590,13590,3.4,6.2,33.8,112
1503292,13727,13727,3.3,5.9,33.8,122
1628990,12569,12569,3.3,5.9,33.9,132
1768176,13918,13918,3.3,6.0,33.9,142
1904173,13599,13599,3.3,5.9,33.9,153
2035891,13171,13171,3.3,6.1,32.0,163
2178002,14211,14211,3.2,6.0,32.0,173
2311208,13320,13320,3.2,5.9,32.0,183
2459054,14784,14784,3.2,5.8,32.0,193
2603760,14470,14470,3.2,5.6,32.0,204
2750140,14638,14638,3.1,5.5,31.5,214
2898530,14839,14839,3.1,5.4,31.5,224
3046585,14805,14805,3.1,5.4,31.5,234
3191439,14485,14485,3.1,5.4,47.8,244
3339831,14839,14839,3.1,5.4,47.9,255
3487253,14742,14742,3.1,5.4,47.9,265
3637535,15028,15028,3.1,5.2,47.9,275
3784912,14737,14737,3.1,5.3,47.9,285
3934077,14916,14916,3.0,5.2,47.9,295
4000000,6592,6592,2.9,5.2,47.9,300


Averages from the middle 80% of values:
interval_op_rate          : 13840
interval_key_rate         : 13840
latency median            : 3.3
latency 95th percentile   : 6.0
latency 99.9th percentile : 39.6
Total operation time      : 00:05:00
END

{code}
                
> Replace CustomHsHaServer with better oprtimized solution based on LMAX Disruptor.
> ---------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-5582
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5582
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>             Fix For: 2.0
>
>         Attachments: CASSANDRA-5582.patch, disruptor-3.0.0.beta3.jar, disruptor-thrift-0.1-SNAPSHOT.jar,
Pavel's Patch.rtf
>
>
> I have been working on https://github.com/xedin/disruptor_thrift_server and consider
it as stable and performant enough for integration with Cassandra. 
> Proposed replacement can work in both on/off Heap modes (depending if JNA is available)
and doesn't blindly reallocate things, which allows to resolve CASSANDRA-4265 as "Won't Fix".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message