在达到服务器环境之前过滤流量

We have a pretty robust setup for our websites. Firewall with load balancer with 2 web servers behind it and 2 high availability MySQL servers. Our business is to send as much traffic as possible to our advertiser-supported websites.

Lately, we have been receiving a ton of foreign traffic (mainly China). Several million visitors per hour. It is almost behaving like an attack.

I can analyze the IP using PHP and redirect the visitor based on their country, but even that is causing load to be high and our fCGI slots to fill up completely. Also, our host tells us that applying country filters on the firewall will slow things down and cause issues.

Does anyone know of a service or method to filter certain traffic before it hits our environment? Maybe a way to do it at the DNS level?