Primeiro, uso o fail2ban para assistir ao log do servidor da web, e sempre que ele vê uma ocorrência suspeita, use esse ip na próxima hora ou algo assim. No entanto, isso depende de ter acesso root ao seu servidor para manipular o firewall.
Existem serviços de terceiros, como o cloudflare, que podem limpar seu tráfego antes que ele chegue até você. Seus serviços variam de gratuitos a caros. Examine as opções e veja se alguma coisa útil se encaixa no seu orçamento.
Você também pode querer conversar com seu provedor de hospedagem, que presumivelmente tem acesso root ao seu servidor se não tiver, e pode ter várias outras opções de atenuação de ddos, seja através da execução dos servidores e da rede. para terceiros serviços de ddos ao longo das linhas se cloudflare.
Não se preocupe em colocar um sono no seu código. Dói mais do que eles (se eles emitirem pedidos em paralelo, você fica sem memória mais rapidamente). Solte as conexões ruins o mais rápido que puder.