Jump to content

Self-hosted sizing recommendations


Samuel Leonard

Recommended Posts

I am in the process of setting up a self-hosted IPS forum.

I have looked for recommendations/guidance on sizing for my standalone host but haven't found anything particularly useful. Apologies if this info is out there somewhere and I haven't dug deep enough. 

Could anyone share some recommended specs for supporting communities of varied size? For reference, I am using EC2 and S3 for my box. 

Sam 

Link to comment
Share on other sites

Start with the smallest possible (although I would recommend not starting with anything lower than 2 GB of RAM to allow for some caching headroom for both your OS and database) and vertically scale as needed over time. Monitor your resource usage and optimize/scale when you start reaching max capacity. You will likely be scaling your memory resources more than anything else (caching is a huge performance factor which consumes tons of memory), so focussing on memory scalability is probably the way to go.

Demand for processing power will increase only as your simultaneous visitor count increases. PHP is single threaded so it will not benefit from having more cores available on a single process level. Of course separate processes/threads can be spread out over all available cores. Therefore the more cores the more requests you can handle. Your database on the other hand will gladly make use of more cores, although typically the bottleneck is storage rather than processing power, With this in mind, even just a single core instance will probably work fine as a starting point as all AWS instances seem to offer fast CPU's (not sure about the Graviton processors though as I simply lack experience with those). When your cores start to become busy, you give them more friends to share the work with. :smile: (The burstable type instances are a bit of a different story it seems, but they probably will work fine too for small communities).

As far as storage space goes, depending on the type of community you intend to run on it, this is usually of least concern. Well, unless you have a very media intensive community where people upload lots of gigantic files of course. Storage performance is a different beast. I noticed AWS offers EBS and physically attached NVMe SSD storage -- the latter sounds like the better performer while the former sounds more scalable (less important as you mentioned you will be using S3 storage). This is primarily of concern for your database which is random I/O intensive. I'd reckon EBS is fine for starting/small communities as most data would fit in cache memory anyway. Once your write rate goes up significantly or you start hitting a lot of non-cached data (for whatever reason) you might want to consider an upgrade there to reduce I/O latency.

Which AWS instance type suits you best depends largely on budget. For a smaller budget a t3.small instance seems to provide a good balance between price/performance and offers a great scale path. With a larger budget an r5.large/r5d.large instance seems to allow for massive memory scalability while also providing great computing, storage and network performance. These are just a few examples I grabbed after a quick glance on their website, only you can decide what truly fits your needs.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...