Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


CDN edge server specs
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

CDN edge server specs

Hi!

I'm playing with the idea of setting up a small private CDN with only a handful of servers. It would typically serve static web content. Not to be sold as a service.  

Could this be done with VPS as edge servers - and what specs would you look at for best performance? I understand that I need reasonable storage and bandwith, but curious about CPU and memory.

Comments

  • eva2000eva2000 Veteran

    I did this with 16-32x VPS servers geographically located all over and Amazon Route53 geo latency based dns. As to optimal performance that's easy - setup 1x VPS first and benchmark it to death - tweaking and tuning it's configuration as you go with alot of system and performance monitoring to get cpu/mem/disk/network/bandwidth metric numbers. Then try the same with different VPS hardware configurations single VPS at a time. Then compare results and figure out which is best config setup for your needs and then start roll out :)

  • vovlervovler Member

    @eva2000 said:
    that's easy

    Yeah, sure :P

  • @eva2000 said:
    I did this with 16-32x VPS servers geographically located all over and Amazon Route53 geo latency based dns.

    Do you have a documentation of your setup lying somewhere? :-)

  • eva2000eva2000 Veteran

    nope.. not publicly available - for my eyes only :)

    Thanked by 1pullangcubo
  • @eva2000 said:
    nope.. not publicly available - for my eyes only :)

    For the sake of advancing the knowledge of humanity, would you share it? :P

  • BunnySpeedBunnySpeed Member, Host Rep

    @VPSforVPN said:
    Hi!

    I'm playing with the idea of setting up a small private CDN with only a handful of servers. It would typically serve static web content. Not to be sold as a service.  

    Could this be done with VPS as edge servers - and what specs would you look at for best performance? I understand that I need reasonable storage and bandwith, but curious about CPU and memory.

    Run nginx, get SSD, you need minimal RAM and CPU. VPS should be easy. The actual specs depend on your config and the traffic you need to serve. If it's just a couple of TB combined between multiple servers even a single core and 1GB of ram should be perfectly fine. Mostly you should be concerned about the network quality, not the hardware.

  • WebProjectWebProject Host Rep, Veteran

    I think cheaper willl be to use BunnyCDN as their prices starts from $5 per TB, performance of CDN is awesome!

    Thanked by 1VPSforVPN
  • @BunnySpeed said:
    you need minimal RAM and CPU

    I'm surprised with this. I thought with these kinds of setup, higher RAM is better for caching (in memory) for faster serving of files? (In theory at least; I'm not sure In actual practice)

  • @pullangcubo said:

    @BunnySpeed said:
    you need minimal RAM and CPU

    I'm surprised with this. I thought with these kinds of setup, higher RAM is better for caching (in memory) for faster serving of files? (In theory at least; I'm not sure In actual practice)

    You're mainly limited by the gigabit pipe. An ssd can fill a gigabit pipe easily.

  • BunnySpeedBunnySpeed Member, Host Rep

    @pullangcubo said:

    @BunnySpeed said:
    you need minimal RAM and CPU

    I'm surprised with this. I thought with these kinds of setup, higher RAM is better for caching (in memory) for faster serving of files? (In theory at least; I'm not sure In actual practice)

    You can get a few ms, but this depends entirely on the content size. If it's large files the difference will be pretty much negligible, while small files might get a few milliseconds better latency. It all depends on how much money you're willing to invest. Having a lot of RAM is expensive and in most cases, a better network will heavily outperform serving from RAM vs SSD. SSDs, especially in RAID will usually not be a bottleneck for a long time unless your cache size is too small for your content and you start going very heavy on writes. I assume since it's a private CDN this won't be an issue.

  • ZerpyZerpy Member

    @pullangcubo said:

    @BunnySpeed said:
    you need minimal RAM and CPU

    I'm surprised with this. I thought with these kinds of setup, higher RAM is better for caching (in memory) for faster serving of files? (In theory at least; I'm not sure In actual practice)

    >

    Higher amount of RAM is better to keep as much files in cache as possible, it will be faster to serve it off the file system cache than serving it from disk - and it does matter, if you're serving enough traffic, it eliminates quite some IO for the frequent accessed files - now, if you put 16 gig or 256 gig of memory in a box - well, you can have as much "hot" content as the memory can fit, without accessing the disk - but for most people it doesn't matter - especially not for OP.

    Also to mention, nginx can only store 8k files per megabyte memory you allocate it, so if you plan to store more than 130 million files, you'd need more than 16 gig just for the key size in nginx.

    @teamacc said:
    You're mainly limited by the gigabit pipe. An ssd can fill a gigabit pipe easily.

    That really depends on what type of content you're serving if a single SSD can be bottlenecked or not ;)

    nginx also works in a bit odd way with temp files that is not yet cached, and you can easily saturate your disk before saturating your outgoing BW, if you have a high rotation of files (lack of disk space can result in this).

    You'd generally want to avoid iowait, it isn't exactly a nice metric to have when you're doing content delivery.

  • eva2000eva2000 Veteran
    edited July 2018

    @pullangcubo said:

    @eva2000 said:
    nope.. not publicly available - for my eyes only :)

    For the sake of advancing the knowledge of humanity, would you share it? :P

    I am sure humanity will survive without my input. You should be excited in diving into learning and practising all this juicy stuff yourself. Imagine the sense of accomplishment when you nail it all down and conquer learning something new - knowing that you did that yourself ^_^

    That journey in doing all the benchmarking/tuning and monitoring is what eventually becomes practical knowledge that not many people would know intimately ;) Just do it !!!!

    edit: okay one tip depending on what you're serving if using nginx be sure to look into nginx thread pools https://www.nginx.com/blog/thread-pools-boost-performance-9x/ :)

    edit: oh and yes HTTPS world now, so testing should be focused on HTTPS request/serving and not non-HTTPS ;)

    Thanked by 1pullangcubo
Sign In or Register to comment.