Are there any available statistics on the server requirements of current Discourse installations relative to their number of users, number of posts, and number of concurrent users?
Not really, just traditional Linux sysadmin questions: show us memory stats, cpu load stats, disk space stats, what does your /about page show for usage, what does your dashboard show, etc.
I’m trying to give a potential client an estimate on what it’s going to cost them to host a forum. What is the best way to do this?
I’ve found a piece of string to be quite illustrative… as in, “how long is …?”. There are so many possible variables involved it is impossible to give an accurate estimate. Total users and historical post volume dominate disk space consumption, while instantaneous concurrency, user behaviour, and (in some cases) plugins have a huge impact on CPU and memory.
In my experience, you’re better off just trying it and seeing what happens, rather than attempting to accurately measure (yes, measure – if you’re “estimating” user behaviour, you’re doomed already) current behaviour and mapping that onto a new system. That doesn’t just apply to Discourse hosting, either – that’s an experience based on trying to guesstimate resources for a variety of different systems – blogs, ecommerce engines, web “apps”, APIs, and a bunch of other oddball systems.
However, given that you’re probably stuck in a hard place with a customer who needs to have “a number”, quote 'em a 2GB DigitalOcean droplet and see where the conversation goes from there. Plenty of Discourse users are running interesting forums on those without a problem. If the site gets more active than that’ll handle, move up to a larger droplet.
Alternately, you can use our pricing as an “upper limit” – you know, whatever happens, that the hosting costs for the given page views/storage volume won’t go above that, because if it did, you’d just switch to hosting with us and that would cap your costs…
Agree with @mpalmer, a 2GB / 2 CPU / 4GB RAM $20/month Digital Ocean droplet is a very safe choice if you think your site will possibly be more than “small”.