- 论坛徽章:
- 0
|
关于cache read ahead multiplier ,我查手册看了下,原文如下:
Read-ahead multiplier
This parameter affects the reading performance and an incorrect setting can have a large
negative impact. It controls how many additional sequential data blocks will be stored into
cache after a read request.
Obviously, if the workload is random, this value should be zero. Otherwise each read request
will unnecessarily pre-fetch additional data blocks. Since these data blocks will rarely be
needed, the performance is going to be negatively impacted.
For sequential workloads, a good value would be between 1 and 4, depending on the particular environment. When using such a setting, a read request causes pre-fetching of several sequential data blocks into the cache; this speeds up subsequent disk access. This leads to a fewer number of I/O transfers (between disk and cache) required to handle the same amount of data, which is good for performance in a sequential environment. A valuethat is too high can cause an overall performance decrease because the cache is filled with read ahead data that is never used.
Use the performance monitor to watch the cache hit rate for a logical drive to find a proper value.
我大致翻译了一下:
这个参数影响了读取的性能,不正确的设置会导致很大的负面影响。它控制了在发出读取请求后有多少个additional sequential data blocks要存进缓存。
显然,如果工作量是随机的,这个值应该为0。对于所有的读请求都不必预读additional data blocks.因为这些数据块很少需要,这些性能都不大必要。
对于有一定持续工作量的情况,对于特殊的环境1和4是比较好的值。当使用这种设置的时候,读取请求会把一些特殊的数据块读入缓存,能加速并发磁盘通道。这将导致少量的I/O传输(磁盘和缓存之间)需要相同数量的数据。哪些设置对于持续工作环境有利,过高的值会引起性能的降低,因为缓存会被那些从来不用的数据填满。
使用性能监视察看逻辑驱动器的缓存的命中率,从而找到一个合适的值。
呵呵。。看来和写缓存不足没有什么必然的联系。。 |
|