Of course, first step was to ask my hosting company. (The website is just a small project and I don't even have my own server but managed hosting (Apache).)
They tried several things like limiting the number of request by IP and blocking IPs. However, this doesn't help because it wasn't enough filtering. Yesterday I counted 665 million hits and even if you block most of them, the rest is still too much. It isn't easy to block access because of the high number of different IPs and different user-agents.
My hosting company was also offering a professional solution but the price was very high (the price of a new car).
Indeed, a lot (40-50%) of the user-agents were Mozilla 3. They were getting 499 or 503. However, even this is making trouble if you're getting up to 1 million requests per minute.
Here are two examples from my log files, but I don't think that it's helpful:
31.176.221.198 - - [10/Dec/2014:09:08:27 +0100] "GET / HTTP/1.1" 503 608 "-" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.6; Trident/5.0)" "my-domain.com"
31.176.221.198 - - [10/Dec/2014:09:08:27 +0100] "GET / HTTP/1.1" 503 608 "-" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.6; Trident/5.0)" "my-domain.com"
31.176.221.198 - - [10/Dec/2014:09:08:27 +0100] "GET / HTTP/1.1" 503 608 "-" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.6; Trident/5.0)" "my-domain.com"
31.176.221.198 - - [10/Dec/2014:09:08:27 +0100] "GET / HTTP/1.1" 503 608 "-" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.6; Trident/5.0)" "my-domain.com"
31.176.221.198 - - [10/Dec/2014:09:08:27 +0100] "GET / HTTP/1.1" 503 608 "-" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.6; Trident/5.0)" "my-domain.com"
49.150.211.165 - - [10/Dec/2014:10:07:27 +0100] "GET / HTTP/1.1" 503 206 "-" "Mozilla/3.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0" "my-domain.com"
49.150.211.165 - - [10/Dec/2014:10:07:27 +0100] "GET / HTTP/1.1" 503 206 "-" "Mozilla/3.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0" "my-domain.com"
49.150.211.165 - - [10/Dec/2014:10:07:27 +0100] "GET / HTTP/1.1" 503 206 "-" "Mozilla/3.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0" "my-domain.com"
49.150.211.165 - - [10/Dec/2014:10:07:27 +0100] "GET / HTTP/1.1" 503 206 "-" "Mozilla/3.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0" "my-domain.com"
49.150.211.165 - - [10/Dec/2014:10:07:27 +0100] "GET / HTTP/1.1" 503 206 "-" "Mozilla/3.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0" "my-domain.com"
[edited by: doc_z at 9:38 am (utc) on Dec 10, 2014]