# Server limits documentation

**URL:** <https://community.temporal.io/t/server-limits-documentation/4699>\
**Category:** Community Support\
**Tags:** go-sdk\
**Created:** [May 15, 2022, 8:56am UTC](https://community.temporal.io/t/server-limits-documentation/4699 "2022-05-15T08:56:53Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Delicious\_Bacon](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/delicious_bacon/32/2001_2.png) [@Delicious\_Bacon](https://community.temporal.io/u/Delicious_Bacon)\
**Post date:** [May 15, 2022, 8:56am UTC](https://community.temporal.io/t/server-limits-documentation/4699/1 "2022-05-15T08:56:53Z")

</div>

I need some help understanding the [Server limits](https://docs.temporal.io/docs/server/production-deployment/#server-limits) documentation.

First, it says gRPC has a limit of 4MB. That’s crystal clear.

Then, for Event Batch Size, it says the `DefaultTransactionSizeLimit` is 4MB.

- What is the “Transaction” we are talking about here? It also says I can configure it, if I know what I am doing—but what would I do with that configuration? There is only an option to go down if that is linked to the gRPC message. Is it?

Next, for Blob size limit, it says it is “For incoming payloads (including Workflow context)” and links to the [source](https://github.com/temporalio/temporal/blob/v1.7.0/service/frontend/service.go#L133-L134). There are three things confusing me here:

1. It says it “warns” at 512KB with the message `Blob size exceeds limit.`—that would mean it already exceeded the limit. It also says it “errors” at 2MB with the message `ErrBlobSizeExceedsLimit: Blob data size exceeds limit.`—again, it exceeded the limit, but now it mentions “Blob _data_ size”, unlike the “Blob size” in the warn case.

- What is the difference between the warn and the error state? Both messages say it exceeded the limit, the limit of the “Blob size” and then the limit of the “Blob _data_ size”.

1. The source link has the code with `(dynamicconfig.BlobSizeLimitWarn, 256*1024)`

- That is 256KB, not 512KB, so what is that now?

1. The “incoming payload” is vague.

- What is the payload we are talking about?
- How would I know the size of the payload before attempting to send it? I would not want to have an overflow in production, so I would want to have a way to check the size before sending the payload and chunk up the work to multiple batches if necessary.

---

<div class="post-metadata">

**Author:** ![tihomir](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/tihomir/32/6580_2.png) [@tihomir](https://community.temporal.io/u/tihomir)\
**Post date:** [May 16, 2022, 6:19pm UTC](https://community.temporal.io/t/server-limits-documentation/4699/3 "2022-05-16T18:19:56Z")

</div>

> What is the “Transaction” we are talking about here?

Its limits size of writes to history database.

1. Docs seem to point to an older branch, see [here](https://github.com/temporalio/temporal/blob/master/common/util.go#L610) for updated message that makes more sense (“Blob data size exceeds the warning limit”) and lines it up with ErrBlobSizeExceedsLimit.  
One blob translates into like one signal Payload, one activity input, one query return value, one heartbeat payload, etc. The difference is that the warning just writes it to logs where as if exceeded it would result in a server error depending on what caused it.

2. Again docs seem to point to an older release branch, see [here](https://github.com/temporalio/temporal/blob/master/service/history/configs/config.go#L392) for whats on master branch.

3. Temporal SDKs communicate to the Temporal server frontend service over gRPC. “incoming payload” is the payload of the payload message of such call.

There is an [open issue](https://github.com/temporalio/temporal/issues/2786) to improve this some on the server side so stay tuned.

---

<div class="post-metadata">

**Author:** ![tihomir](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/tihomir/32/6580_2.png) [@tihomir](https://community.temporal.io/u/tihomir)\
**Post date:** [May 16, 2022, 6:39pm UTC](https://community.temporal.io/t/server-limits-documentation/4699/5 "2022-05-16T18:39:23Z")

</div>

Opened docs issue [here](https://github.com/temporalio/documentation/issues/1166) to fix the mentioned links.

---

<div class="post-metadata">

**Author:** ![Delicious\_Bacon](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/delicious_bacon/32/2001_2.png) [@Delicious\_Bacon](https://community.temporal.io/u/Delicious_Bacon)\
**Post date:** [May 20, 2022, 3:18pm UTC](https://community.temporal.io/t/server-limits-documentation/4699/6 "2022-05-20T15:18:04Z")

</div>

I will stay tuned to the issues then! Thank you!
