Write-through is used when the data is written to both cache and persistent storage. Useful for less intensive writes and read intensive applications.
Write-back is used when data is written to cache and a background offload will processor or application will be used to copy the data from the cache to persistent storage. IO will be acknowledged on the cache write itself. low read latency and high throughput for write intensive applications. Cache may need to be powered with an alternate source or cache to be duplicated to avoid data loss on power loss or cache failure.
Write-around is used when cache is bypassed and directly written to the persistent data. Less use of cache and most time cache miss. So higher latency.
Source: Understanding write-through, write-around and write-back caching (with Python)
dd command should be available in ESXi as well as all Linux versions. If you face any issues with your application and wants to know the disk performance is deteriorated, you can quickly use the dd command to check the write/read performance of the disk. The disk used can be even a datastore or a network device also. You can cross check with another system or disk where you don’t see any performance issues to compare the results to know if there is any issues with the disk.
Below is the example to run in a VMWare ESXi volume.
/vmfs/volumes/54a55c07-9face633-0999-002590fc98c8 # time dd if=/dev/zero of=test bs=1M count=1024
1024+0 records in 1024+0 records out
real 2m 7.62s user 0m 4.69s sys 0m 0.00s
= ( 1024/127 = 8 MB/s !!! )
In the above example you are trying to write a 1GB file and you are using time command to find out the speed at which the write happened.
Source: Horrible disk performance under ESXi | [H]ard|Forum
Good article on interpreting SCSI sense codes in VMware ESXi and ESX.
Source: Interpreting SCSI sense codes in VMware ESXi and ESX (289902)
HDDs are benchmarked using a queue depth of no more than 4. This article from SanDisk explains why?
Source: Using high queue depth settings when running IOMeter
Each storage device in ESXi has a unique . Below are the list of useful commands in ESXi.
- esxcli storage nmp device list
- esxcli storage core device list -d
- esxcli storage core device smart get -d
- esxcli storage core path list
- esxcli storage core path list -d
To match an ever-growing need for data storage space, Inventec (2356.TW), one of the key suppliers of world’s leading server brands, hyperscale data centers and server system integrators, announced the arrival of Entei – a 2U24Bay Storage Server System to support dual 2nd Gen Intel Xeon Scalable processors.
Source: Inventec Introduces Entei, the Advanced Storage Server System