Write_throttle limits the number of dirty pages per file that the filesystem will generate before writing them to disk.
Leave write_throttle to the appropriate value, such as 128, will trigger the VxFS to flush the dirty pages in the timely manner.
The following the testing results.
Just run the vxbench commands below,
/opt/VRTSspt/FS/VxBench/vxbench -w write -i nthreads=1,nrep=10000,iosize=128k,iocount=14700 /testfs/file1
As the same time, you can find the I/O throughput with vxstat.
#vxstat –g testdg –i 1
Tue Feb 1 10:04:16 CST 2011
vol testvol 0 819 0 104672 0.00 3.21
Tue Feb 1 10:04:17 CST 2011
vol testvol 0 833 0 106400 0.00 2.82
Tue Feb 1 10:04:18 CST 2011
vol testvol 0 417 0 53136 0.00 6.34
Tue Feb 1 10:04:19 CST 2011
vol testvol 0 529 0 67712 0.00 24.85
Tue Feb 1 10:04:20 CST 2011
vol testvol 0 421 0 53888 0.00 28.71
Tue Feb 1 10:04:21 CST 2011
vol testvol 0 324 0 41472 0.00 40.75
Tue Feb 1 10:04:22 CST 2011
vol testvol 0 303 0 38784 0.00 41.94
Tue Feb 1 10:04:23 CST 2011
vol testvol 0 281 0 35968 0.00 45.56 <<< the I/O throughput is inconsistent
#vxtunefs -o write_throttle=128 /testfs
Tue Feb 1 10:18:35 CST 2011
vol testvol 0 654 0 334336 0.00 1.25
Tue Feb 1 10:18:36 CST 2011
vol testvol 0 641 0 328960 0.00 1.31
Tue Feb 1 10:18:37 CST 2011
vol testvol 0 667 0 340736 0.00 1.22
Tue Feb 1 10:18:38 CST 2011
vol testvol 0 668 0 342016 0.00 1.27
Tue Feb 1 10:18:39 CST 2011
vol testvol 0 680 0 348160 0.00 1.18
Tue Feb 1 10:18:40 CST 2011
vol testvol 0 664 0 339968 0.00 1.28 <<< it's consistent
P.S. using a bigger write_perf_io size, such as 1M, will gain better I/O bandwidth by aggregating the I/Os during the I/O flush.
Set write_throttle to 128 with the command below.
#vxtunefs -o write_throttle=128