18.07.2013 Views

HP-UX VxFS tuning and performance - filibeto.org

HP-UX VxFS tuning and performance - filibeto.org

HP-UX VxFS tuning and performance - filibeto.org

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!