Planning LUNs
This section describes how to plan read/write policies and prefetch policies for LUNs based on the data storage requirements to achieve the optimal performance of the storage system.
Planning Cache Policies (Applicable to Common LUNs)
Cache policies are classified into read policies and write policies. Improper setting of read and write policies will deteriorate the read and write performance and compromise the reliability of the storage system.
Table 3-8 describes the two cache policies and their optional policies.
Policy |
Description |
Optional Policy |
---|---|---|
Read policy |
Residence policy of data in the cache after the application server delivers read I/O requests. |
The following cache policies are available on the storage system:
|
Write policy |
Residence policy of data in the cache after the application server delivers write I/O requests. |
Planning Prefetch Policies (Applicable to Common LUNs)
Applications have different size requirements for data reads. The prefetch policies of LUNs can improve the read performance.
The storage system supports four prefetch policies: intelligent prefetch, constant prefetch, variable prefetch, and non-prefetch. Table 3-9 describes the principles and application scenarios of the four prefetch policies.
Prefetch Policy |
Principle |
Application Scenario |
---|---|---|
Intelligent prefetch |
The storage system analyzes whether the requested data is sequential. If it is, the data following the currently requested data is prefetched from disks to the cache to improve the cache hit ratio. The length of intelligent prefetch ranges from the start address of the currently requested data to the end address of the CK. |
Suitable for single-stream read applications or for the read applications that cannot be determined sequential or random, for example, file read/write. |
Constant prefetch |
After receiving a data read request, the storage system prefetches the data to the cache based on the preset prefetch length, regardless of the read length specified in the I/O request. |
Suitable for the sequential read applications that have a fixed size, for example, requests initiated by multiple users for playing streaming media on demand at the same bit rate. |
Variable prefetch |
After receiving a data read request, the storage system prefetches the data to the cache based on a multiple of the read length specified in the I/O request. |
Suitable for the sequential read applications that have an unfixed size or for the multi-user concurrent read applications whose prefetch data amount cannot be determined, for example, requests initiated by multiple users for playing multimedia on demand at different bit rates. |
Non-prefetch |
The host reads data directly from disks based on the read length specified in the I/O request without a prefetch process. |
Suitable for small-block random read applications, for example, databases. |
In the scenario where read services are running on the storage system, you are advised to use the non-prefetch policy. This because cache prefetch may deteriorate the system performance in such a scenario.