Our uptime monitor flapped. Investigating the log, the cause is an abusive client. Downtime correlates when then abusive client requested Special:SupportedLanguages a lot:
grep [SNIP] /var/log/nginx/access.log* | grep SupportedLanguages | cut -f2 -d"[" | cut -f1 -d"]" | sort | uniq -c
1 05/Apr/2020:01:28:53 +0200
2 05/Apr/2020:01:52:18 +0200
3 05/Apr/2020:01:52:19 +0200
4 05/Apr/2020:01:52:20 +0200
1 05/Apr/2020:01:52:21 +0200
2 05/Apr/2020:01:52:22 +0200
1 05/Apr/2020:01:52:23 +0200
1 05/Apr/2020:01:52:24 +0200
3 05/Apr/2020:01:52:25 +0200
4 05/Apr/2020:01:52:26 +0200
1 05/Apr/2020:01:52:27 +0200
3 05/Apr/2020:01:52:28 +0200
9 05/Apr/2020:01:52:29 +0200
12 05/Apr/2020:01:52:30 +0200
1 05/Apr/2020:01:52:31 +0200
3 05/Apr/2020:01:52:34 +0200
3 05/Apr/2020:01:52:35 +0200
4 05/Apr/2020:01:52:36 +0200
2 05/Apr/2020:01:52:38 +0200
2 05/Apr/2020:01:52:39 +0200
3 05/Apr/2020:01:52:40 +0200
4 05/Apr/2020:01:52:41 +0200
1 05/Apr/2020:01:52:42 +0200
10 05/Apr/2020:01:52:44 +0200
9 05/Apr/2020:01:52:45 +0200
6 05/Apr/2020:01:52:46 +0200
1 05/Apr/2020:01:52:49 +0200
8 05/Apr/2020:01:52:50 +0200
15 05/Apr/2020:01:52:51 +0200
22 05/Apr/2020:01:52:52 +0200
25 05/Apr/2020:01:52:53 +0200
23 05/Apr/2020:01:52:54 +0200
1 05/Apr/2020:01:52:55 +0200
3 05/Apr/2020:01:52:56 +0200
4 05/Apr/2020:01:52:57 +0200
1 05/Apr/2020:01:52:58 +0200
4 05/Apr/2020:01:52:59 +0200
8 05/Apr/2020:01:53:00 +0200
12 05/Apr/2020:01:53:01 +0200
1 05/Apr/2020:01:53:02 +0200
1 05/Apr/2020:07:57:58 +0200To prevent this in future, investigate the following possibilities:
- General rate limiting: https://www.nginx.com/blog/rate-limiting-nginx/
- Further tightening Special:SupportedLanguages to avoid it tying up all PHP executors, or making it faster