Hello,
Its seems that your application publishes (produces) some Kafka messages, it might that the producer takes time and causes the slowness, you can start by setting a timeout for your producers by setting the 'delivery.timeout.ms' property.
The size of the published messages might also cause the Kafka producer to take time...
In order to get the full image about what is causing the slowness issues, we need more than threadumps
Can you please follow this steps bellow :
- Run the command 'top', this will give you list of process that are running, most probably
you will see that one process is consuming a lot of CPU, if so run this command 'top -H -p {PID}' where {PID} is the process ID which is consuming the highest CPU. - Based on the output of 'top -H -p {PID}' (you can upload it here so i can take a look), you can identify exaclty which threads are consumming the most CPU.
- It's also interessting to see GC log, that helps to see if the slowness is not caused by a memory problem (memory leak), to get GC add this to you arguments :
-
for Java 8 : -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<file-path>
- for >=Java 9: -Xlog:gc*:file=<file-path>
-
Once you get your GC log, you can upload it here https://gceasy.io/ and share the report (same as you did with trhreaddump)
Edit your Comment