Streamlit Concurrency Question

Hi Streamlit team, my team is thinking serving a streamlit dashboard for some interactive charts and tables. We have 100+ users will use this dashboard. Will streamlit support such concurrency and scalability? If yes, do you have some examples or doc that we can refer to?
thanks!

Hi @sophie, thanks for checking out Streamlit!

This is a really good question. I’ll give a heads-up to our engineering team to see if they have anything they can provide. In the meantime, I think the answer should be ‘yes, Streamlit can handle that under certain conditions’.

Does your app use the same dataset, or can users choose arbitrary datasets (via upload, database query, etc.)? If the dataset is relatively small compared to the RAM available on the server, then Streamlit should perform pretty well. Streamlit is designed to provide the cache across user sessions when using st.cache(), so two users submitting the same combination of inputs will read from the cache instead of using computer CPU resources. So if you’re providing a view into a single dataset and you have enough RAM, the process ends up returning the data from the cache and should scale fairly well.

Best,
Randy