based on this…
this is highly overbooked. In worst case, you have 20 processes that burst to 100% (or rather would like to).
Also…
that web concurrency doesn’t sound like it fits the number of agents, aim for 6 especially if you have issues with the web ui. Also database max_connection of 300 is far below the requirement for your chosen tuning. 50 connections per process by default. Run the math yourself. Our recommendation is 2000. See:
https://docs.zammad.org/en/latest/appendix/configure-database-server.html
I’d say it’s not a memory issue. I’d guess your top
or (even better) htop
would show below 16gb of memory use.
And the one exception is an issue. It’s useless to lookup 6000 tickets and then throw away 3900 of them. See: Overviews
The interesting question you should lookup is “what process is it?” There is a difference if it’s the pumas or the background worker.
I’d guess the latter with your overviews and thus session jobs concurrent might be an option. See: Configuration via Environment Variables — Zammad System Documentation documentation