×

buffer-slayer持久层吞吐量优化组件

消耗积分:0 | 格式:zip | 大小:0.14 MB | 2022-04-28

李志静

分享资料个

授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件

软件简介

buffer-slayer 是一个把请求在内存中 buffer 并批量发送的工具,适用于批量能显著提升性能的组件(redis-client、jdbc), 支持一对一的回调。

快速启动

io.bufferslayerbuffer-spring-jdbc1.1.0
ReporterProperties reporterProperties = new ReporterProperties()
        .setBufferedMaxMessages(500)
        .setPendingMaxMessages(10000)
        .setMetrics("inmemory")
        .setMetricsExporter("http")
        .setParallelismPerBatch(5)
        .setSenderExecutor(new ThreadPoolExecutor(200,
            200, 0, TimeUnit.MILLISECONDS, new SynchronousQueue<>()));

BatchedJdbcTemplate template = new BatchedJdbcTemplate(reporterProperties);
template.setDataSource(dataSource);

Promise promise = template.update(...);
promise.done(success -> ...)
       .fail(reject -> ...);

吞吐量对比

Benchmark                                                      Mode  Cnt       Score  Units
BatchedJdbcTemplateBenchmark.high_contention_batched          thrpt   15    8709.042  ops/s
BatchedJdbcTemplateBenchmark.high_contention_unbatched        thrpt   15     271.529  ops/s
BatchedJdbcTemplateBenchmark.mild_contention_batched          thrpt   15    2146.595  ops/s
BatchedJdbcTemplateBenchmark.mild_contention_unbatched        thrpt   15     262.621  ops/s
BatchedJdbcTemplateBenchmark.no_contention_batched            thrpt   15    1194.852  ops/s
BatchedJdbcTemplateBenchmark.no_contention_unbatched          thrpt   15     201.806  ops/s

 

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !