Raw straight answer? About 24 seconds for a 1MB file per user. But 10Mbps divided by 30 concurrent users for web browsing is going to be extremely tight. Ignoring for a moment that WiFi will bring it's own congestion issues the resulting performance is going to hugely depend on the type of internet traffic consumed.
If it is streaming HD video for all, it's going to be a disaster to chop that into usable chunks. Traditionally the first port of call for low bandwidth was to implement an internet caching services. Personally I've experience of Squid proxy and it's very good. The main issue is it will struggle with TLS/SSL traffic nor streaming traffic, so whilst it can have a fantastic savings for downloads, that doesn't make up a lot of modern internet traffic.
In order to make the traffic usable you'll probably need to restrict some types of traffic such as youtube. If your router allows it, I would recommend setting some sort of QoS (Quality of Service) to ensure that important traffic is given a higher priority than trvial traffic.
Try and host your own content where possible to save internet transit via local servers for typical files. Have a look at Self-Hosted/Hybrid alternatives to typical cloud systems and storage.
Another strategy is to utilise your bandwidth at night time when it would otherwise not be in use by scheduling tasks to happen outside of normal hours that aren't time critical.