我使用“纪事”将大量数据从一个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发布于 2022-02-09 13:01:18
假设您有Linux,则可以在构建器上使用useSparseFiles(true)启用稀疏文件。
您也可以使用更快的驱动器减少离群点或/dev/shm。
在封闭源代码版本中有一种异步模式,但是,如果没有它,您可以得到大多数小于80微秒的异常值。
纪事队列不使用巨大的页面。
这是我在将它与卡夫卡进行比较时创建的一张图表,它是写给Corsair MP600 Pro XT的。
http://blog.vanillajava.blog/2022/01/benchmarking-kafka-vs-chronicle-for.html
注意:这是两个跃点写入和读取对象约220字节的延迟(使用序列化)。

https://stackoverflow.com/questions/71026357
复制相似问题