Skip to main content

brainCloud Limits

brainCloud is limitless! (within limit)

Paul Winterhalder avatar
Written by Paul Winterhalder
Updated over a week ago

This document applies to brainCloud's Public BaaS at portalx.braincloudservers.com. Specific private deployments may vary.

Rate Limits

brainCloud doesn't have hard service rate limits - since the whole goal is for your apps to scale! We do, however, enforce a per-user rate limit to protect the system from bad actors. The API will terminate sessions exceeding 20 requests / second over 60 seconds - returning a reason code of 40823 (USER_RATE_LIMIT_EXCEEDED).

Development Plan Limits

Apps on the free Development plan are limited to 100 Daily Active Users (DAU) and 1000 end-user accounts. All API features are available - except hosting and deep data-related features.

Apps on the $5/month + usage Development Plus plan are limited to 200 Daily Active Users (DAU) and 2000 end-user accounts. All API features are available.

Live Plan Limits

brainCloud's Live Plans offer cost-effective access to platform features at various price points. Although there are differences in feature availability between Basic, Plus/Bulk, and Business Plans -- there are no restrictions on platform usage. Higher-level plans offer better value for high-volume customers.

For example, an app may be activated with the Standard Plan, which includes 6 Million API calls for $30 / month, but it is not actually limited to 6 Million API calls. Additional API counts are charged at the end of the month. See https://getbraincloud.com/pricing/ for more details.

MongoDB Limits

brainCloud utilizes MongoDB for storage - and thus, some limits are inherited from it:

  • The maximum size of an entity (including the meta-data that brainCloud adds) is 16MB - but we highly recommend that apps keep entities < 1 MB. The sweet spot is 50 - 200 KB for mobile apps.

  • # of entities

    • Global Entities don't have custom indexes - and, thus, aren't suitable for large data sets. It is recommended to keep the # of entities to < 1000 [not a hard limit]

    • Custom Entities are stored in separate collections with custom indexes. The number of entities a Custom Entity collection can store is unlimited.

    • User Entities are owned and indexed per user. It is best to keep them to < 100 per user [not a hard limit]. Apps that need more data per user should consider Owned Custom Entities.

Service Limits

The following limits are set to encourage proper and scalable usage of the system. Most limits are tuneable on a per-app basis. Contact support to request a change to a limit.

Chat

  • Maximum chat message size (bytes): 2048

    • Limited to ensure RTT performance and scalability. Implement larger payloads as references to entities, files, etc.

  • Maximum # of global channels: 10

    • Limited to ensure RTT performance and scalability. Does not restrict the number of other dynamic channels.

Cloud Code

  • Max stack depth (for recursion): 256

    • Protects the system from infinite recursion.

Custom Entities

  • Maximum # of collections: 15

    • Limited to encourage devs to use Global Entities for small reference collections. If a collection is static and < 50 entries - it is better (and cheaper) to use Global Entities.

  • Maximum # of entities that can be imported: 100,000

    • Limited to reduce the impact of imports on overall system performance.

Files

  • Maximum file size in bytes: 5 MB

    • Limited to prevent abuse

Groups

  • Maximum # of group members: 50

    • Limited to reduce optimistic locking issues for group and group entity data.

Room Servers

  • Maximum # of containers per server: 80

    • Limited to preserve the responsiveness of hosted nodes and containers

Did this answer your question?