Hi guys I have developed a multithread application that use Chronicle Queue to persist the data exchanged. For each thread I create a new chronicle queue instance, all of than pointing to the same file. When the number of the threads increase (or the number of tailers) the reading performance is impacted. I am using a regular chronicle single binary queue with default read/write lock. Could some one face a similar issue like that before? All of my threads are reading the queue in a busy spin mode.
Asked
Active
Viewed 176 times
0
-
I assume you have many free CPUs, i.e. more cores than busy waiting threads. If you don't then performance will be impacted. – Peter Lawrey Apr 13 '21 at 13:39
-
Yes i have free cores Peter. – Domenico Schettini Filho Apr 21 '21 at 16:50
1 Answers
1
You don’t have to create a Chronicle queue per thread. You can create a single instance of Chronicle queue, then for each thread, create a tailer by calling createTailer. So it is only the tailer that you have to have per thread. Not the queue. Please try that and let me know if it helps.

Rob Austin
- 620
- 3
- 5
-
Hi @Rob Austin, I tried with single queue but the tailer performance decrease significantly. I do not understant why tailers in busy spin are having this behaviour. – Domenico Schettini Filho Apr 12 '21 at 11:38