【Issue description】
The IOPS of the vdbench test cannot reach the theoretical value.
Test model: OceanStor Dorado5000 V3 four-controller device, 8k block size, 60% read, 32 threads, iorate=max, whpct=20
Test IOPS: 460K
Theoretically evaluated IOPS: 500K
【Issue cause】
For a LUN whose size is greater than 2 TB on the Solaris host, the starting sector of the disk partition is 40 sectors by default (40*512bytes=20K). The data block (database or file system) of the host is not aligned with the storage I/O size (8K). As a result, the processing efficiency of the I/O decreases.
[trouble shooting]
1. Analyze the storage performance data,the read/write response latency of about 2019-01-16 10:30 is large. At the same time, the usage of the back-end CPU RV partition remains high at 100%, which reaches the bottleneck.



2. The back-end pool has a large number of pre-read IO(2200K) will cause the internal I/O pressure of the storage is high, and the actual host I/O processing efficiency is low. Generally, the data block delivered by the host is not aligned with the storage data block lead to the storage generates I/O pre-read.

3. I/O alignment may be related to the host test method. The possible cause is that the vdbench test tool specifies the start address of the LUN or the start partition of disk created by the operating system.
4. Check the partition information of the device specified by vdbench. Confirm the LUN whose size is greater than 2 TB on the Solaris host, the start sector of the disk partition is 40 sectors by default (40*512bytes=20K), the data block (database or file system) of the host is not aligned with the storage I/O size (8K). As a result, the I/O processing efficiency decreases.

【Solution】
Change the start position of the disk partition (64 sectors) to ensure that the disk partition is aligned with the storage I/O size.
Note: If user data exists on the disk, create a LUN and partition (aligned with the storage I/O size), and copy the data DD of the old partition to the newly created partition.


