HP-UX VxFS tuning and performance - filibeto.org
HP-UX VxFS tuning and performance - filibeto.org
HP-UX VxFS tuning and performance - filibeto.org
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Figure 4. Flush behind<br />
As data is written to a <strong>VxFS</strong> file, <strong>VxFS</strong> will perform “flush behind” on the file. In other words, it will<br />
issue asynchronous I/O to flush the buffer from the buffer cache to disk. The flush behind amount is<br />
calculated by multiplying the write_pref_io by the write_nstream file system tunables. The default flush<br />
behind amount is 64 KB.<br />
Flush behind on <strong>HP</strong>-<strong>UX</strong> 11i v3<br />
By default, flush behind is disabled on <strong>HP</strong>-<strong>UX</strong> 11i v3. The advantage of disabling flush behind is<br />
improved <strong>performance</strong> for applications that perform rewrites to the same data blocks. If flush behind<br />
is enabled, the initial write may be in progress, causing the 2 nd write to stall as the page being<br />
modified has an I/O already in progress.<br />
However, the disadvantage of disabling flush behind is that more dirty pages in the Unified File<br />
Cache accumulate before getting flushed by vh<strong>and</strong>, ksyncher, or vxfsd.<br />
Flush behind can be enabled on <strong>HP</strong>-<strong>UX</strong> 11i v3 by changing the fcache_fb_policy(5) value using<br />
kctune(1M). The default value of fcache_fb_policy is 0, which disables flush behind. If<br />
fcache_fb_policy is set to 1, a special kernel daemon, fb_daemon, is responsible for flushing the dirty<br />
pages from the file cache. If fcache_fb_policy is set to 2, then the process that is writing the data will<br />
initiate the flush behind. Setting fcache_fb_policy to 2 is similar to the 11i v2 behavior.<br />
Note that write_pref_io <strong>and</strong> write_nstream tunable have no effect on flush behind if fcache_fb_policy<br />
is set to 0. However, these tunables may still impact read flush behind discussed later in this paper.<br />
Note<br />
Flush behind is disabled by default on <strong>HP</strong>-<strong>UX</strong> 11i v3. To enable flush<br />
behind, use kctune(1M) to set the fcache_fb_policy tunable to 1 or 2.<br />
I/O throttling<br />
64K 64K 64K 64K 64K<br />
flush behind<br />
Sequential write<br />
Often, applications may write to the buffer/file cache faster than <strong>VxFS</strong> <strong>and</strong> the I/O subsystem can<br />
flush the buffers. Flushing too many buffers/pages can cause huge disk I/O queues, which could<br />
impact other critical I/O to the devices. To prevent too many buffers/pages from being flushed<br />
simultaneously for a single file, 2 types of I/O throttling are provided - flush throttling <strong>and</strong> write<br />
throttling.<br />
9