问题描述
我们想知道为什么 ChronicleQueue 似乎总是接触第一个数据文件。有什么原因吗?
其他文件管理器似乎没有受到影响,即使从它们读取数据也是如此。我们做错了什么吗?
目前我们使用的是 5.19.2 版本。
[root@node-000341 dataLog]# ls -al
total 16520
drwxrwxr-x. 2 tn tn 4096 Jan 13 15:17 .
drwxrwxr-x. 7 tn tn 94 Apr 14 2020 ..
-rw-r--r--. 1 tn tn 83886080 Jan 12 11:46 20200424.cq4
-rw-r--r--. 1 tn tn 83886080 May 5 2020 20200427.cq4
-rw-r--r--. 1 tn tn 131782 May 12 2020 20200505.cq4
-rw-r--r--. 1 tn tn 131574 May 13 2020 20200512.cq4
.....
-rw-r--r--. 1 tn tn 389465 Dec 16 09:26 20201210.cq4
-rw-r--r--. 1 tn tn 184090 Jan 12 12:07 20201216.cq4
-rw-r--r--. 1 tn tn 361994 Jan 13 15:17 20210112.cq4
-rw-r--r--. 1 tn tn 83886080 Jan 13 15:22 20210113.cq4
-rw-r--r--. 1 tn tn 65536 Jan 13 15:21 Metadata.cq4t
解决方法
当你创建一个tailer时,默认情况下它会去toStart(),它是第一个文件,它是导致第一个文件被触摸的原因(注意ls
显示的是访问时间,而不是修改时间)。
顺便说一句,除非您出于任何原因确实需要该访问时间,否则我们建议使用 noatime
挂载选项来加快文件访问速度。