纪事:如何优化内存映射文件以实现低延迟? [英] Chronicle: How to optimize memory-mapped files for low-latency?

查看:27
本文介绍了纪事:如何优化内存映射文件以实现低延迟?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Chronica将大量数据从一个JVM传输到另一个JVM。问题是,我注意到我的基准测试中有很多抖动。我对内存映射文件的了解有些有限,但我知道操作系统会在内存和磁盘之间来回交换页面。

如何配置这些页面以获得最高性能,以我的情况为例,在使用纪事时减少抖动和尽可能低的延迟?它们需要变大还是变小?它们需要是多个还是几个?

这是我目前在Ubuntu盒子上的内容:

$ cat /proc/meminfo | grep Huge
AnonHugePages:      2048 kB
ShmemHugePages:        0 kB
HugePages_Total:       1
HugePages_Free:        1
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:    1048576 kB

推荐答案

假设您有linux,您可以在生成器上使用useSparseFiles(true)启用稀疏文件。

您还可以使用速度更快的驱动器来减少异常值或/dev/shm

封闭源代码版本中有一个异步模式,但是,如果没有它,您可以获得远低于80微秒的大多数离群值。

历史记录队列不使用大页面。

这是我在写给Corsair MP600 Pro XT时,将其与卡夫卡进行比较时创建的图表。

http://blog.vanillajava.blog/2022/01/benchmarking-kafka-vs-chronicle-for.html

注意:这是两跳写入和读取大约220字节的对象的延迟(带序列化)

这篇关于纪事:如何优化内存映射文件以实现低延迟?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆