I have an app using significant data extracted from a postgres database, which I am manipulating and caching. I experience excellent performance with a single user, but as soon as 3 or 4 users connect to my server my app becomes unusable. I believe a new thread is created to rerun the script from top to bottom each time a user interacts with the app, but the time for this to run on a given thread with one user connected is fractions of a second. I wonder precisely how the cache_data functionality is implemented and how it scales with multiple users? Is there some duplicated overhead here? I have read related posts on multi user performance and don’t see any answers that seem to pertain to my issue. Thanks.