> For the complete documentation index, see [llms.txt](https://docs.nxcframework.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nxcframework.net/running-your-server/performance.md).

# Performance

> **Nothing here has been measured.** The budgets below are targets that were reasoned about, not numbers anyone observed. No profiling has been done, and nothing has run with more than one player on it. Treat every figure as a stated intention rather than a guarantee.

## Budgets

Every resource declares a budget covering idle and active client CPU, server tick impact, event frequency, payload size, queries per action, cache policy, NUI memory, entity-scan scope, and degraded-mode behavior.

> **Budgets are currently estimates.** No target server build, OneSync mode, concurrent player count, or development server has been identified. Recording an estimate as a measurement would be worse than recording nothing, so budgets state their basis.

## What to watch

| Signal                             | Why                                                             |
| ---------------------------------- | --------------------------------------------------------------- |
| Client frame time, idle and active | The most player-visible cost                                    |
| Server tick time                   | Where a slow query or a broadcast shows up                      |
| Event frequency per resource       | A runaway event is usually a loop that should be a subscription |
| Slow RPCs and external calls       | Logged automatically                                            |
| NUI memory across a session        | Growth indicates views hidden rather than unmounted             |
| Entity counts per bucket           | Growth indicates cleanup that is not running                    |

## Measure under load

A resource measured on an empty server tells you almost nothing. Measurement happens under representative load, with routing buckets, entity ownership, reconnects, and restarts all exercised.

## A budget breach is a defect

Not a reason to raise the budget. A breach has a cause, and the cause is recorded.

Raising a budget to match observed behavior converts a control into a description.

## The recurring causes

Permanent `Wait(0)` loops · unscoped entity scans · global broadcasts where a subset was needed · unbounded queues or result sets · NUI views hidden rather than unmounted · large datasets sent whole · queries inside per-frame loops · missing indexes.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.nxcframework.net/running-your-server/performance.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
