Size limit of ServerStorage items

According to the docs, there should be no limit for the size of item values - but, in reality, there is one…a small one!

After running into trouble trying to save some data, I wrote a successive approximation to find the precise size limit of strings saved as ServerStorage item - and the result was

1048574 (= 1024*1024 - 2)

(trying to save a string of length 1024*1024 - 1 failed)

In my opinion, nowadays, this limit is quite low - and it should definitely be mentioned in the docs (in BOLD) otherwise people may plan apps which they will never get running!

Nota bene: the string I wrote contained ASCII characters only - for non-ASCII characters, the UTF-8 encoding will produce more bytes than the plain string size indicates.

We dug into the source - you’re right. The limit is 1 meg. The docs have been corrected.

What’s the use case? Volt is not designed for saving large amounts of data.

Good morning from Germany!

The use case? I was looking for a kind of key-value store to store lots of bits of data (e.g. pictures) - most of them a few hundred kB large only, but some of them with up to 10MB. If Volt should not be used for this, you should probably also mention the foreseen uses in your documentation - at a prominent place.

P.S.: are there other “hidden” limits users should know, such as

  • number of Apps
  • number of keys per App or User
  • number of users per App
  • non-functional limits, such as
    • access (i.e. read) rate of existing keys
    • update rates of existing keys (*)
    • generation and removal rates of key-value pairs?

(*) also think of multiple instances of the same app (ran by the same (perhaps technical) user) accessing the same ServerStorage (not necessarily the same keys) simultaneously.

It would definitely be valuable mentioning them!

Thanks for your effort!

Kind regards,

Andreas Rozek

There are no limits to apps, keys or users, though I would not encourage people to go crazy here. They are effectively unlimited for low volume apps, but we may contact you about upgrading to a dedicated instance if you are using a significant amount of server resources.

By the same token, access, updates, creation and removal are only limited by the server and hopefully that will become easier to manage in time. I would use the same logic - if you are using a lot of resources, we’re going to ask you to upgrade to a dedicated instance.