|
| 1 | +--- |
| 2 | +title: Troubleshoot Performance Issues in Storage Spaces Direct |
| 3 | +description: Helps you identify and fix performance issues related to Storage Spaces Direct (S2D) in Windows Server environments. |
| 4 | +ms.date: 12/08/2025 |
| 5 | +manager: dcscontentpm |
| 6 | +audience: itpro |
| 7 | +ms.topic: troubleshooting |
| 8 | +ms.reviewer: kaushika, simonw, v-appelgatet |
| 9 | +ms.custom: |
| 10 | +- sap:backup, recovery, disk, and storage\Storage Spaces Direct (S2D) |
| 11 | +- pcy:WinComm Storage High Avail |
| 12 | +appliesto: |
| 13 | + - ✅ <a href=https://learn.microsoft.com/windows/release-health/windows-server-release-info target=_blank>Supported versions of Windows Server</a> |
| 14 | +--- |
| 15 | +# Troubleshoot performance issues in Storage Spaces Direct |
| 16 | + |
| 17 | +This article helps you identify and fix performance issues that are related to Storage Spaces Direct (S2D) in Windows Server environments. |
| 18 | + |
| 19 | +## Symptoms |
| 20 | + |
| 21 | +You experience one or more of the following performance issues: |
| 22 | + |
| 23 | +- When you access files that are stored in storage spaces, read and write speeds are slower than expected. |
| 24 | +- When you perform disk-intensive operations such as transferring large files, you experience delays or lags. |
| 25 | +- Task Manager shows high disk queue length or high disk usage. |
| 26 | +- Applications take longer than usual to load or respond. |
| 27 | + |
| 28 | +## Causes |
| 29 | + |
| 30 | +Several factors can cause degraded performance or bottlenecks for Storage Spaces. The following list includes the most common causes: |
| 31 | + |
| 32 | +- **Incorrect drive configuration**: Using mismatched or incompatible drives within a storage pool |
| 33 | +- **Incorrect storage space type**: Selecting the wrong resiliency option (such as parity instead of simple or mirror) for the workload |
| 34 | +- **Insufficient system resources**: Low memory or CPU availability |
| 35 | +- **Fragmentation**: Excessive fragmentation within the storage pool (slow data access) |
| 36 | +- **Firmware and driver issues**: Outdated or incompatible drive firmware and drivers |
| 37 | +- **Background tasks**: Resource-intensive background tasks, such as disk scrubbing or repair jobs |
| 38 | + |
| 39 | +## Resolution |
| 40 | + |
| 41 | +Follow the steps in this section to improve the performance of your storage space. |
| 42 | + |
| 43 | +Before you start to troubleshoot performance issues, consider measuring the system's current performance to establish a baseline. You can use tools such as Performance Monitor or Resource Monitor to collect metrics. You can also use third-party tools such as DiskSpd or CrystalDiskMark to run benchmark tests and gather detailed performance metrics. |
| 44 | + |
| 45 | +> [!IMPORTANT] |
| 46 | +> Before you start changing your storage space configuration, make sure that you back up the storage space data and configuration settings. |
| 47 | +
|
| 48 | +### Step 1: Collect performance metrics, events, and configuration information |
| 49 | + |
| 50 | +To help identify issues, collect the following data: |
| 51 | + |
| 52 | +- A detailed description of the storage space configuration, including the resiliency type and drive details. Use the following questions as guidelines: |
| 53 | + - What type of storage space configuration is being used? For example, simple, mirror, or parity? |
| 54 | + - What's the size of the storage pool, and how many drives are included? |
| 55 | + - What are the current firmware and driver versions for the drives in the storage pool? |
| 56 | + - Are all drives in the pool of the same type, capacity, and speed? |
| 57 | + - Were any recent changes made to the system, such as software updates, hardware replacements, or new applications installed? |
| 58 | + |
| 59 | +- Performance metrics, such as disk queue length and throughput. You can use tools such as Performance Monitor or Task Manager to collect this information. You can also review performance history information, as described in [Performance history for Storage Spaces Direct](/windows-server/storage/storage-spaces/performance-history). |
| 60 | +- Logs from the Event Viewer, specifically under the **System** and **Storage Spaces** categories. Include: |
| 61 | + - Any error messages or warnings in the Event Viewer that are related to S2D, storage pools, or disk operations. |
| 62 | + - Screenshots or photos of any error messages or alerts. |
| 63 | + |
| 64 | +- The output of the following Windows PowerShell commands: |
| 65 | + |
| 66 | + ```powershell |
| 67 | + Get-StoragePool | Get-PhysicalDisk | Select-Object DeviceID, MediaType, Size, HealthStatus |
| 68 | + Get-VirtualDisk | Select-Object FriendlyName, ResiliencySettingName, OperationalStatus |
| 69 | + Get-StoragePool | Get-StorageSubSystem | Select-Object FriendlyName, HealthStatus |
| 70 | + ``` |
| 71 | + |
| 72 | +### Step 2: Verify the Storage Space configuration |
| 73 | + |
| 74 | +1. Make sure that all the drives in the pool are of the same type (for example, all solid-state drives (SSDs) or all hard disk drives (HDDs)). Also make sure that the drives have similar performance characteristics. |
| 75 | +1. Verify that the storage space type (simple, mirror, or parity) is appropriate for the workload. For more information about storage space types in S2D, see [Deep Dive: Volumes in Storage Spaces Direct](https://techcommunity.microsoft.com/blog/filecab/deep-dive-volumes-in-storage-spaces-direct/425807). |
| 76 | +1. If you make any changes during this step, test the system's performance, and compare it to earlier measurements. |
| 77 | + |
| 78 | +### Step 3: Review the Server Manager and the event logs for potential issues |
| 79 | + |
| 80 | +1. In Server Manager (or by using Windows PowerShell) check the health and operational states of the storage pools and other S2D components. For more information, see [Troubleshoot Storage Spaces and Storage Spaces Direct health and operational states](/windows-server/storage/storage-spaces/storage-spaces-states). |
| 81 | +1. In Event Viewer, review the logs for Storage Spaces Direct warnings or errors. |
| 82 | +1. If you identify any issues (such as failing drives or subsystem errors), remediate them, as appropriate. |
| 83 | +1. If you make any changes during this step, test the system's performance, and compare it to earlier measurements. |
| 84 | + |
| 85 | +### Step 4: Make sure that the drivers and firmware for the drives are up to date |
| 86 | + |
| 87 | +1. Verify that all drives have the latest firmware installed. |
| 88 | +1. Update the storage controller and drive drivers to the most recent versions that the manufacturer supports. |
| 89 | +1. If you make any changes during this step, test the system's performance, and compare it to earlier measurements. |
| 90 | + |
| 91 | +### Step 5: Run storage maintenance tasks |
| 92 | + |
| 93 | +1. To optimize the storage pool, run the following cmdlet at a PowerShell command prompt: |
| 94 | + |
| 95 | + ```powershell |
| 96 | + Optimize-StoragePool -FriendlyName <StoragePoolName> |
| 97 | + ``` |
| 98 | + |
| 99 | + > [!NOTE] |
| 100 | + > In this cmdlet, \<StoragePoolName> is the name of the storage pool. If you have to identify the storage pool name, run `Get-StoragePool`. |
| 101 | +
|
| 102 | +1. If the storage pool uses HDD drives, manually defragment the drives. |
| 103 | + |
| 104 | + > [!WARNING] |
| 105 | + > Don't perform this step if the storage pool uses SSD drives. Defragmentation can reduce the lifespan and performance of SSD drives. |
| 106 | +
|
| 107 | +1. Test the system's performance, and compare it to earlier measurements. |
| 108 | + |
| 109 | +### Step 6: Identify resource usage issues |
| 110 | + |
| 111 | +1. Use monitoring tools such as Task Manager, Performance Monitor, or Resource Monitor to identify bottlenecks in CPU, memory, or disk usage. For more information about how to use these tools, see [Scenario guide: Troubleshoot performance problems in Windows](../performance/troubleshoot-performance-problems-in-windows.md). |
| 112 | +1. Close any unnecessary applications or processes that consume system resources. |
| 113 | +1. If you make any changes during this step, test the system's performance, and compare it to earlier measurements. |
| 114 | + |
| 115 | +### Step 7: Rebuild or re-create the storage space |
| 116 | + |
| 117 | +If you followed the previous steps, and the S2D performance didn't improve sufficiently, consider rebuilding the storage space. Follow these steps: |
| 118 | + |
| 119 | +1. Make sure that all backups are current and available. |
| 120 | +1. Delete the existing storage space. |
| 121 | +1. Re-create the storage space. Use optimal settings. |
| 122 | +1. Restore the data to the new storage space. |
| 123 | + |
| 124 | +## Preventing future performance issues |
| 125 | + |
| 126 | +To avoid future S2D performance issues, consider the following guidelines and best practices: |
| 127 | + |
| 128 | +- Make sure that a single storage pool uses drives that have similar performance, capacity, and media type. For more information about hardware requirements, see [Storage Spaces Direct hardware requirements in Windows Server](/windows-server/storage/storage-spaces/storage-spaces-direct-hardware-requirements). |
| 129 | +- Regularly update firmware and drivers to the latest manufacturer-recommended versions. |
| 130 | +- Monitor storage pool health by using the `Get-StoragePool` and `Get-PhysicalDisk` cmdlets. |
| 131 | +- To prevent data loss if a drive fails, schedule regular backups. |
| 132 | +- Unless you're implementing tiered storage, don't mix SSD and HDD drives in the same storage pool. |
0 commit comments