# 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](https://docs.movebot.io/platform-guides/sharepoint/sharepoint-api-limits) 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](https://docs.movebot.io/platform-guides/sharepoint/sharepoint-api-limits).
* Consider [Ludicrous Mode](https://docs.movebot.io/platform-guides/sharepoint/sharepoint-ludicrous-mode) when migrating large numbers of small files.
