A proper SQLite database shouldn't have issues with this amount of traffic. D1 isn't just SQLite though, it's SQLite + an API.
I would try using SQLite-in-DO instead of using D1. There's a good blog post about it here:
Secondly I would look at splitting up the database into multiple databases.

The Cloudflare Blog
Zero-latency SQLite storage in every Durable Object
Traditional cloud storage is inherently slow because it is accessed over a network and must synchronize many clients. But what if we could instead ...