Right now your app writes rows to your database. Your dashboard reads rows from your database. That works when you have 1,000 rows.
At 100,000 rows, your dashboard queries take 10 seconds. At 1,000,000 rows, they time out. At 10,000,000 rows, your database falls over because the dashboard is running expensive aggregation queries against the same tables your app is writing to.