I’m not seeing drop ticks however, so it doen’t appear to be a hardware issue.
Minecraft has a few limitations, as some of the processes are single threaded. For example, it looks like water is single threaded, so more flowing water means it cycles through each water source to update (although this is rarely a problem). Exploring new chunks can often case a bit of server lag, but that’s mostly gone now days with the server being on SSD.
Network data is another issue. If a chunk (16x16x16) has a lot in it, then moving into or out off it’s range causes a lot of temporary lag, due to the chunk data needing to be sent. If you are on the edge of busy chunks then this could happen a bit as they are loaded and unloaded. I notice this type of lag when I tp around the server, as the client must catch up with the server. Probably could spread the farms out a bit to solve this a little.
If a lot is happening in a chunk, then this can cause lag, as the chunk data must be transferred from client to server and back. This is more persistent, but usually unlikely.
I’m trying to look more into network traffic to get an understanding of the data being sent between client and server.
All things lag are hard to track down. Users seem to have different types of lag and it’s important to me that you have little lag as possible. So I will keep working on it.