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

Apache
Java
跨平台
2017-04-21
asuka shinji

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

快速启动


  io.bufferslayer
  buffer-spring-jdbc
  1.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)

暂无评论

暂无资讯

暂无问答

【机器学习实战】kNN

一、概述 优点:精度高、对异常值不敏感、无数据输入限定 缺点:计算复杂度高、空间复杂度高 使用数据范围:数值型和标称型。 二、原理 存在一个样本数据集合(训练样本集合),并且样本集中每...

2016/02/16 10:59
94
1
13 款不错的在线色彩工具推荐

Online tools always helps to make your task more easy and simple. On internet a big number of tool like typography tools, image editing tools, color tools, screen capture tool, ...

2011/08/23 09:04
95
0
The role of an object storage system in the cloud

from:http://searchcloudstorage.techtarget.com/video/The-role-of-an-object-storage-system-in-the-cloud; It can be hard to get your head around object storage if you're like man...

2012/12/26 18:09
42
0
FL Studio中的通道该怎么添加

 FL Studio主菜单中有一项功能是常会被用到的,那就是添加这个选项。展开这个选项我们可以看到很多功能,这里的功能在编曲的制作中都是很重要的。今天我们就来看看这些功能之一的添加通道是...

2016/11/21 17:26
29
0
三 Buffer

Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成N...

2014/03/06 17:20
56
1
Java NIO系列教程(三) Buffer

原文链接 作者:Jakob Jenkov Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数...

2013/07/11 09:07
85
0
Java NIO系列教程(三) Buffer

英文原文:http://tutorials.jenkov.com/java-nio/index.html 中文翻译:http://ifeve.com/buffers/

2014/02/22 20:23
30
1
Java NIO Buffer

Java NIO Buffers are used when interacting with NIO Channels. As you know, data is read from channels into buffers, and written from buffers into channels. A buffer is essential...

2014/02/04 09:44
47
0
Vim Buffer

Vim用得越来越顺手,同时我也知道我目前使用到的可能只是Vim强大功能的1%不到。对于Vim的多buffer编辑一直没有搞清楚,今天彻底的学习一下。 啥是buffer? 一个buffer就是一个已经载入内存的文...

2012/07/10 18:05
350
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部