# SharePoint Performance Expectations

### File Density and Performance

File density (number of files per terabyte) significantly impacts performance.

| File Density              | Impact                               |
| ------------------------- | ------------------------------------ |
| **<50,000 files / TB**    | Low density – Better performance     |
| **\~500,000 files / TB**  | Medium density - Typical performance |
| **>1,000,000 files / TB** | High density – Slower performance    |

Lower file counts with higher data volume generally yield **faster migrations** and **lower API consumption**.

***

### What Are Resource Units? <a href="#what-are-resource-units" id="what-are-resource-units"></a>

Resource Units (RUs) are how Microsoft measures the cost of API operations. Each action your migration tool performs consumes a specific number of RUs.

#### Resource Unit Costs for Movebot Migrations

| **Operation**                                              | **Resource Units (per file or folder)** |
| ---------------------------------------------------------- | --------------------------------------- |
| Scan Directory (Excluding Permissions and Version History) | 2                                       |
| Create Folder (Non-Delta)                                  | 3                                       |
| File Upload                                                | 2                                       |
| File Download                                              | 1                                       |

***

### Real-World Example

The following tables provide estimated **resource unit (RU)** consumption when using one Movebot transfer job to copy a **single folder** comprising of:

* **1 TB data**
* **500,000 files**
* **50,000 folders**

Each table illustrates how RU usage varies depending on the **type of migration** — whether migrating into SharePoint, between tenants, within the same tenant, or out of SharePoint.&#x20;

{% hint style="info" %}
&#x20;Review [SharePoint API Limits](/platform-guides/sharepoint/sharepoint-api-limits.md) to understand how usage in this example compare to your tenant’s daily quota.&#x20;
{% endhint %}

####

#### Migration Into SharePoint (External ➝ SharePoint)

| Operation               | Count   | RU per Item | Total RUs     |
| ----------------------- | ------- | ----------- | ------------- |
| Create Folder           | 50,000  | 3           | 150,000       |
| Transfer Files (Upload) | 500,000 | 2           | 1,000,000     |
| **Total**               | —       | —           | **1,150,000** |

***

####

#### Migration Between SharePoint Tenants (Tenant-to-Tenant)

**Source Tenant (Scan + Transfer Files)**

| Operation                 | Count   | RU per Item | Total RUs   |
| ------------------------- | ------- | ----------- | ----------- |
| Scan (Folders)            | 50,000  | 2           | 100,000     |
| Transfer Files (Download) | 500,000 | 1           | 500,000     |
| **Subtotal**              | —       | —           | **650,000** |

**Destination Tenant (Create Folders + Transfer Files)**

| Operation               | Count   | RU per Item | Total RUs     |
| ----------------------- | ------- | ----------- | ------------- |
| Create Folder           | 50,000  | 3           | 150,000       |
| Transfer Files (Upload) | 500,000 | 2           | 1,000,000     |
| **Subtotal**            | —       | —           | **1,150,000** |

**Total (source + destination):  1,700,000 (RUs)**

***

####

#### Migration within a single SharePoint Tenant (Separate App Registrations)

**Source App (Scan + Transfer)**

| Operation                 | Count   | RU per Item | Total RUs   |
| ------------------------- | ------- | ----------- | ----------- |
| Scan (Folders)            | 50,000  | 2           | 100,000     |
| Transfer Files (Download) | 500,000 | 1           | 500,000     |
| **Subtotal**              | —       | —           | **600,000** |

**Destination App (Create + Transfer)**

| Operation               | Count   | RU per Item | Total RUs     |
| ----------------------- | ------- | ----------- | ------------- |
| Create Folder           | 50,000  | 3           | 150,000       |
| Transfer Files (Upload) | 500,000 | 2           | 1,000,000     |
| **Subtotal**            | —       | —           | **1,150,000** |

**Total (source + destination):  1,700,000 (RUs)**

***

####

#### Migration out of SharePoint (SharePoint ➝ External Platform)

| Operation                 | Count   | RU per Item | Total RUs   |
| ------------------------- | ------- | ----------- | ----------- |
| Scan (Folders)            | 50,000  | 2           | 100,000     |
| Transfer Files (Download) | 500,000 | 1           | 500,000     |
| **Total**                 | —       | —           | **600,000** |

***

####

#### Summary&#x20;

| **Scenario**                                  | Source RUs | Destination RUs | **Total RUs** |
| --------------------------------------------- | ---------- | --------------- | ------------- |
| **Into SharePoint (External ➝ SharePoint)**   | —          | 1,150,000       | 1,150,000     |
| **Tenant-to-Tenant SharePoint**               | 600,000    | 1,150,000       | 1,750,000     |
| **Same-Tenant (Separate Apps)**               | 600,000    | 1,150,000       | 1,750,000     |
| **Out of SharePoint (SharePoint ➝ External)** | 600,000    | —               | 600,000       |

### Tips and Tricks

* These are **first-pass estimates**. Delta passes will vary based on change volume.
* API usage is measured in **resource units (RUs)**, not raw call counts.
* For tenant-specific daily limits, refer to the[ SharePoint API Limits page](/platform-guides/sharepoint/sharepoint-api-limits.md).
* Consider [Ludicrous Mode](/platform-guides/sharepoint/sharepoint-ludicrous-mode.md) when migrating large numbers of small files.


---

# Agent Instructions: 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:

```
GET https://docs.movebot.io/platform-guides/sharepoint/sharepoint-performance-expectations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
