High Load Scenario - 1M queries per hour

I have a very high load scenario. 650+ clients and 1M DNS queries per hour (Yes, that's correct). Pi-Hole is running a custom blacklist with around 3000 domain names. There is no Ad blocking or any other list, only our own custom blacklist.

Hardware is a 16GB RAM, i3 - 3220 CPU 4 Core

We see CPU utilization creep up and hit a full 100% over a 24 hour period. It starts okay at around 5 to 10% CPU and then the CPU utilization increases to almost 90-100% over 24 hours. Restarting the pihole-FTL resets everything and the cycle begins again.

Should I look at upgrading the CPU and get a more modern faster CPU. \

Any recommendations to what CPU would be good enough.

Are you running an open resolver ?

http://www.openresolver.com

No support here for open resolvers so you know.

622 clients, 2 million queries, 265 queries blocked. You're using the wrong tool.

Thanks, any recommendations as to what tool could handle this scenario.

What's the scenario? You're not filtering anything so any DNS server should work. Are you using it just to see what domains are being visited?

We have an internal blackist mandated by management. We have over 1200 users and 1.5 G Bandwidth throughput.

I have two PiHole servers with same configuration and they are assigned to the users.

I am also using unbound as the local resolver as described on the PiHole wiki.

We only need to block around 3k domains.

I guess just implementing an Unbound blacklist may be the answer. Do you think that's the way to go?

Even so, only 265 of 1,951,785 queries have been blocked, so Pi-hole isn't really doing anything of value. That's a block rate of 0.0136 percent.