Excluding my bias since I work for Strapi, I have been using it long before I started working for them. I first started using Strapi in a production environment 3 years ago and have kept the application running since. A my peak I handle about 3 to 5 million requests per week however I average about 800k to 1.2 million a week.
Strapi is absolutely capable of being used in large scale production applications, however I would caution you that the cheapest server/hosting you can find will not hold up to that. Strapi itself is only a small piece of the puzzle (the easiest part  ). But the bulk of stack that has to pull the weight is the database.
 ). But the bulk of stack that has to pull the weight is the database.
I have a 5 node MariaDB Galera cluster (2x write, 2x read, 1x Arbitrator) along with a dual (active/failover) ProxySQL configured to split read/write. That also combined with the community Redis LRU cache middleware.
My actual Strapi implementation is 3x 6 core, 8GB of RAM virtual machines each running pm2 in cluster mode with 4 Strapi instances (in total 12 Strapi instances for a single environment).
What is possible with Strapi is limited to how you are hosting it, using various other applications to increase performance. I’ll make the analogy of:
Do you want it fast, easy, or cheap? Pick two. In my case, this is a hobby project however I landed on the fast and easy and I spend roughly 150$ to 200$/month for my setup.
Here is a rough layout of the design (it’s very high level):
