Creating a Large Network. How much RAM do you think I'll need?

Discussion in 'Performance Tweaking' started by MisterSheep, Oct 6, 2018.

  1. Yes, I know what you're thinking right now.
    First, we don't have games like that. We're making things original. I'm actually working on a partnership with a large YouTuber I'm friends with, but I'm not going to say who he is because none of this is final yet. Second, this is going to be a professional server. We have a prototype server that runs on Spigot, but I just purchased a 1 GB server that I'm going to run BungeeCord on and connect with another server just as a test. So this is no ordinary server. We have big plans for this place that I'm not allowed to talk about here, but I'm about to purchase more servers for our network, and I need to know how much RAM I'll need.

    So here's what I plan to get:

    At launch, we will have six minigames, and each game will have 16 or less players.

    Here's what plugins I'm planning on putting on them:

    1. Ultra Permissions by TechsCode
    2. MinigameMaker by Vagdedes
    3. ViaVersion by Mylescomputer
    4. ViaBackwards by Mylescomputer
    5. ViaRewind by Mylescomputer
    6. ViaRewind Legacy Support by Mylescomputer
    7. X Replay by Mustermaster
    8. Spartan Anticheat by Vagdedes (may be replaced by a proprietary anticheat plugin)
    9. Hydra by TechsCode
    10. BanGUI by KleinerPissa
    11. Citizens by fullwall
    12. Holograms by SainttX
    13. iDisguise by Robingether

    I'm planning on having ten servers per minigame at launch. How much RAM do you think I'll need for each minigame server?

    Edit: By the way, I forgot to mention this, but stuff like iDisguise, Holograms, and Citizens won't be used at the same time because it varies per the contents of the game.
    • Like Like x 1
  2. that isn't very good, replace it with
    Lib's Disguises by libraryaddict, ByteFlux, and Navid
    Which is available free if you scroll down.

    for every 20 players add 1GB ram
    for every 20 plugins add 1GB ram
    for every 2GB of world add 1GB ram
    • Funny Funny x 1
    • Useful Useful x 1
    • Optimistic Optimistic x 1
  3. not a good recommendation, highly depends on the plugins, what players are doing, and GB of world? that's unrelated
  4. It's not easy to recommend memory like that, also I'd recommend to have a cloud setup for managing that many minigame servers.

    The network I worked for had 128MB each minigame server holding up to 24 players, it was 100% custom and optimized though.

    Roughly you can say that 1GB is enough for the Bungeecord (could also work with 512/256MB) and the lobbies, but here it depends on plugins and worlds.

    Also I would not use a shared hosting, a VPS with a decent CPU would work better, especially as you can setup a cloud. The lower clockspeed would not be a gamechanger as you plan to have tens of gameservers running.

    A dedicated would also work.
  5. By those standards, I would need over 200 GB of RAM. Are you sure that's right?
  6. No, it's not right at all. Ignore this.
    I'd go around 4gb for a server, 512mb ram is more than enough for bungee. (Check out waterfall too)

    If you need more ram you can just add more as you need.
  7. My rule of thumb is to use 8 GB per 100 players. You can use less but most network server owners rather have something as a buffer than less.
    You could probabbly go away with 6 GB per 100 players if your server is properly optimized and considering you go with minigames, that usually means less ram / cpu consumption for you.
  8. 8GB for 100 players? What kind of server was that? We had no issues with 7GB @ 500 players and 256MB for minigames with 24 players
  9. When I posted my experiences of lower gb for users I get told off by the elitists here at times, so I just do what they expect of me and conform to them to avoid more getting jumped on instead of posting my own facts.. it makes for a nicer spigot posting experience.

    256mb is very low though, but it all depends on the cpu and amount of plugins, the stress the players cause etc.
  10. yeah, you're completely right; but most people don't bother with performance as much as hosting is not that expensive nowadays, so 8 GB per any type of server is kinda my rule of thumb with large networks.
    I work for a 1000 player server and the owner doesn't give a damn about optimization. They get their money and they won't use fewer machines to host their servers. This usually holds true for most larger networks. Large networks are usually composed of businessmen, not from technical people.

    Obviously with optimization and smart planning you can keep 200+ players per 4-6GB ram.
  11. Allocating 8GB to a server which needs 2GB will just cause GC to run longer and not make any other difference. 6GB is enough to support 400 players, you can not say 100 players = 1GB because nobody can predict if those players are in one chunk, spread over hundred chunks etc. It's as easy as giving more memory the moment the server needs more.
  12. Yes, that's probably what everyone should do. It's a bad idea to have a fixed amount of ram you give to each server, so benchmarking the server for the first 1-2 weeks with the ram in excess and then setting the ram according to the benchmark is probably the best idea.

    To answer his question:
    it highly depends on your setup and the minigame type. Some minigames may take more resources and some may take less. For example, non-pvp minigames like buildbattle may take less RAM/CPU cycles than a Bedwars server. It also depends on how the minigames function (some work on the same actual server while others require different server instances for each game). It's obvious that single game servers will take more ram when compared directly to a server running multiple games (due to spigot and plugins taking space in memory. For multiple games servers it means only 1 load for more games, so ram is slightly reduced).

    You should try to start low (from 16GB to 64GB max) and then scale up with player count.
  13. Good to see some people with experience share their opinion. I value that more than the generic 'you are wrong floris', despite that I spoke out of experience. Glad I made that point ^_^

    Each server is different anyway, you can start with a basis and be ready to just adjust as things progress. We have a 3 minute get together once a week to address bigger performance issues for the network, just to identify that something needs a bigger account or be moved elsewhere etc. Things and performance always changes. Never hurts to stay on top of it.
  14. Going to but it like this java is cpu bound omegalul dont ever go over 18gb of ram stay below 18 etc but also you have to make sure the cpu is good as well
  15. That much ram, don't these type of servers enjoy lag spikes each time it tries to write up to 18gb of stuff to disk?
  16. Issue isn't that all those 18 GB of stuff are written to disk. Issue is that these 18 gb or ram will fill up with time and the GC will have to go clean it up. More ram = more work for the GC.

    Wouldn't use more than 8 gb of ram for 100-200 players; but 8 gb ram for 200 players is not bad.
  17. That's not how the Java GC works, it's no longer running on a scheduled algorithm; it only runs when necessary. A bigger heap means longer collection sessions but they occur less often. However, this also depends on the amount of long-lived objects that are pooled. tldr; if you see massive pauses due to a GC session it's not because you have too much RAM dedicated to the JVM. You can use jvmstat on gnu/Linux to monitor this.

    Also, memory blocks are not written to disk, they are not persistent.

    Incorrect. Java is not CPU-bound.
  18. You really seem to think its not ok try it 48gb of ram and see what happens
  19. I don't understand what you mean? Allocating more RAM doesn't change whether the JVM is CPU-bound or not.. The JVM is NOT CPU-bound and that's all there is to it.
  20. Do you have any proof that it's CPU bound other than your "do it yourself" attitude?

Share This Page