[
https://issues.apache.org/jira/browse/LOG4J2-1430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15337553#comment-15337553
]
Remko Popma edited comment on LOG4J2-1430 at 6/19/16 11:41 AM:
---------------------------------------------------------------
Some updated AsyncAppender benchmarks from a different machine:
{noformat}
Benchmark
(configFileName) Mode Samples Score Error Units
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 421350.194 ± 118742.034
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 732013.709 ±
184898.251 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 620838.595 ±
134244.041 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 543288.791 ± 82482.810
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 721883.526 ±
66989.585 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 639439.565 ±
125657.650 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 824790.565 ± 171621.728
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 1028556.763 ±
109353.125 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 568566.928 ±
269872.375 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 594563.141 ± 70404.296
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 845897.352 ±
228154.808 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 848475.002 ±
91257.402 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 544594.819 ± 62686.338
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 987199.830 ±
33025.388 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 859914.106 ±
121160.546 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 461825.397 ± 62365.730
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 864736.023 ±
160036.083 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 932562.486 ±
203536.539 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 521609.312 ± 69653.307
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 779901.058 ±
293679.862 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 946788.498 ±
219523.096 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 553107.164 ± 68208.224
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 645058.084 ±
50491.092 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 840133.798 ±
110307.285 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 536812.806 ± 117628.586
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 903849.192 ±
157589.199 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 1042231.348 ±
158482.482 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 462427.066 ± 127036.911
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 1086714.745 ±
61264.216 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 901716.345 ±
51733.243 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 373571.150 ± 141871.367
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 996033.507 ±
192236.390 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 852531.537 ±
21937.418 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 706499.111 ± 122564.787
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 1250716.018 ±
118582.796 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 410649.438 ±
238538.562 ops/s
{noformat}
was (Author: jvz):
Some updated AsyncAppender benchmarks from a different machine:
{code}
Benchmark
(configFileName) Mode Samples Score Error Units
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 421350.194 ± 118742.034
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 732013.709 ±
184898.251 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 620838.595 ±
134244.041 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 543288.791 ± 82482.810
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 721883.526 ±
66989.585 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 639439.565 ±
125657.650 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 824790.565 ± 171621.728
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 1028556.763 ±
109353.125 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 568566.928 ±
269872.375 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 594563.141 ± 70404.296
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 845897.352 ±
228154.808 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 848475.002 ±
91257.402 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 544594.819 ± 62686.338
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 987199.830 ±
33025.388 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 859914.106 ±
121160.546 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 461825.397 ± 62365.730
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 864736.023 ±
160036.083 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 932562.486 ±
203536.539 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 521609.312 ± 69653.307
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 779901.058 ±
293679.862 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 946788.498 ±
219523.096 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 553107.164 ± 68208.224
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 645058.084 ±
50491.092 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 840133.798 ±
110307.285 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 536812.806 ± 117628.586
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 903849.192 ±
157589.199 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 1042231.348 ±
158482.482 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 462427.066 ± 127036.911
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 1086714.745 ±
61264.216 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 901716.345 ±
51733.243 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 373571.150 ± 141871.367
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 996033.507 ±
192236.390 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 852531.537 ±
21937.418 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple
perf5AsyncApndNoLoc-noOpAppender.xml thrpt 20 706499.111 ± 122564.787
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml thrpt 20 1250716.018 ±
118582.796 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple
perf5AsyncApndXferQNoLoc-noOpAppender.xml thrpt 20 410649.438 ±
238538.562 ops/s
{code}
> Add optional support for Conversant DisruptorBlockingQueue in AsyncAppender
> ---------------------------------------------------------------------------
>
> Key: LOG4J2-1430
> URL: https://issues.apache.org/jira/browse/LOG4J2-1430
> Project: Log4j 2
> Issue Type: New Feature
> Components: Appenders
> Affects Versions: 2.6.1
> Reporter: Matt Sicker
> Assignee: Matt Sicker
> Fix For: 2.7
>
> Attachments: AsyncAppenderPerf01.txt
>
>
> [Conversant Disruptor|https://github.com/conversant/disruptor] works as an
> implementation of BlockingQueue that is much faster than ArrayBlockingQueue.
> I did some benchmarks earlier and found it to be a bit faster:
> h3. AsyncAppender/ArrayBlockingQueue
> {code}
> Benchmark Mode Samples
> Score Error Units
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params thrpt 20
> 1101267.173 ± 17583.204 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params thrpt 20
> 1128269.255 ± 12188.910 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param thrpt 20
> 1525470.805 ± 56515.933 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params thrpt 20
> 1789434.196 ± 42733.475 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params thrpt 20
> 1803276.278 ± 34938.176 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params thrpt 20
> 1468550.776 ± 26402.286 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params thrpt 20
> 1322304.349 ± 22417.997 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params thrpt 20
> 1179756.489 ± 16502.276 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params thrpt 20
> 1324660.677 ± 18893.944 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params thrpt 20
> 1309365.962 ± 19602.489 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params thrpt 20
> 1422144.180 ± 20815.042 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple thrpt 20
> 1247862.372 ± 18300.764 ops/s
> {code}
> h3. AsyncAppender/DisruptorBlockingQueue
> {code}
> Benchmark Mode Samples
> Score Error Units
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params thrpt 20
> 3704735.586 ± 59766.253 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params thrpt 20
> 3622175.410 ± 31975.353 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param thrpt 20
> 6862480.428 ± 121473.276 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params thrpt 20
> 6193288.988 ± 93545.144 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params thrpt 20
> 5715621.712 ± 131878.581 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params thrpt 20
> 5745187.005 ± 213854.016 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params thrpt 20
> 5307137.396 ± 88135.709 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params thrpt 20
> 4953015.419 ± 72100.403 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params thrpt 20
> 4833836.418 ± 52919.314 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params thrpt 20
> 4353791.507 ± 79047.812 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params thrpt 20
> 4136761.624 ± 67804.253 ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple thrpt 20
> 6719456.722 ± 187433.301 ops/s
> {code}
> h3. AsyncLogger
> {code}
> Benchmark Mode Samples
> Score Error Units
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput10Params thrpt 20
> 5075883.371 ± 180465.316 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput11Params thrpt 20
> 4867362.030 ± 193909.465 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput1Param thrpt 20
> 10294733.024 ± 226536.965 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput2Params thrpt 20
> 9021650.667 ± 351102.255 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput3Params thrpt 20
> 8079337.905 ± 115824.975 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput4Params thrpt 20
> 7347356.788 ± 66598.738 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput5Params thrpt 20
> 6930636.174 ± 150072.908 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput6Params thrpt 20
> 6309567.300 ± 293709.787 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput7Params thrpt 20
> 6051997.196 ± 268405.087 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput8Params thrpt 20
> 5273376.623 ± 99168.461 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput9Params thrpt 20
> 5091137.594 ± 150617.444 ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughputSimple thrpt 20
> 11136623.731 ± 400350.272 ops/s
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]