Back to Search
I know that there may not be an answer to this yet but, upon initial release of Server Meshing, how many shards do you anticipate needing to have? 10, 100, 1000, more? We know that the shift away from DGS means more players per game area, just not sure how many you anticipate.

Short answer is that we cannot advance a number.

The concept of the shard is the "malleable" part of the meshing architecture, and we will only be able to tell the number of shards required once all the component pieces are in place and we plan to get there iteratively.

With the first drop of Persistent Streaming (not meshing), we want to start by mimicking the current behavior that you see online by having one shard per server instance and one replicant (called the hybrid). The only difference is that all entities in those shards will still be persistent. This allows us to deal with the worst-case scenario by having a really large number of persistent shards and very large replicants to test the mechanics of creating/seeding, simulation with active players, and spin down for recycling or destruction. We want shard creation and destruction in this first phase to be optimal, fast, and cost-neutral.

This approach has several advantages, as we can get to test shard persistence earlier and, more importantly, can measure active metrics across many shards.

For example (non-exhaustive!):

  • How many entities remain in a persistent shard over time (shard growth rate)
  • Size of the global graph (global growth rate)
  • How many players a single shard database can handle (player usage)
  • Effect of several gameplay mechanics on entity updates to the shard database (gameplay effects)
  • Performance profile of the write queues, mean query times of shard db clusters (shard database metrics)
  • Performance profile of the write queues, mean query times of global db cluster (global database metrics)
  • Efficiency of database sharding (another sharding level!) of the graph

While we do have proper estimates and internal measurements for these, nothing replaces real players generating representative load on the system.

As we get the other components of meshing into play, mainly the static mesh, we plan to gradually reduce the number of shards, grouping players into bigger and bigger shards until we feel comfortable with the performance of replicants, DGSs, and the entity graph. Of course, the static mesh will suffer from congregation problems and we will only be able to resume going to much larger shards once the dynamic mesh is in place.

Ultimately, with the dynamic mesh, we aim to support very large shards.

- Server Meshing and Persistent Streaming Q&A |
Published on this date.2021-11-10
Save Card as Image
ID: 1cd5dc33b702ad_dashboard_generated_id (Click to copy)
Perma link (Click to copy)