纯理论介绍,有时间再做实验。
2.jpg
8I以后为了提升性能LRU又分为了LRU MAIN和LRU AUX.
LRU MAIN上存在冷短和热端。
_db_percent_hot_default 50 Percent of default buffer pool considered hot
_db_percent_hot_default参数控制了冷端和热段占整个列表的百分比。默认是50%。
1.jpg
当进程扫描可用块的时候,先从lru aux找起,如果没足够的所需块,再扫描lru main。这个时候涉及一些算法,确定那些块可以被“牺牲掉”。
扫描的话先从LRU MIAN的COLD端的尾部找起。如果发现touch 数字小于_db_aging_hot_criteria,则重用这个buffer.
_db_aging_hot_criteria的值默认为2.
_db_aging_hot_criteria 2 Touch count which sends a buffer to head of replacement list
假如扫描的块的touch为10,那么由于10>_db_aging_hot_criteria,因此不会被“牺牲”,但是会有两种情况
1)如果_db_aging_stay_count >_db_aging_hot_criteria,那么得减半这个buffer的toch数。
2)否则,设置这个buffer的touch数为_db_aging_stay_count
因此可以看出_db_aging_stay_count是个变化的值,默认第一次的值是0.
以我们的情况来说,由于0<2,因此将符合条件2,_db_aging_stay_count的值变为10.
_db_aging_stay_count 0 Touch count set when buffer moved to head of replacement list
假如下一个数据块的touch数为12,12>_db_aging_hot_criteria,由于此时_db_aging_stay_count 的值已经被修改为10了,因此_db_aging_stay_count >2,符合第一种情况,那么将这个数据块的touch数减半,成为6.
还有一个比较重要的参数是_db_aging_touch_time,我们需要简单了解。它代表在达到定义的时间以后,touch数才会被记录。
默认值是3.例如一个数据块A三秒内访问十次,而只会被记录1次。9秒内访问10次,被记录三次。
_db_aging_touch_time 3 Touch count which sends a buffer to head of replacement list
2.jpg
8I以后为了提升性能LRU又分为了LRU MAIN和LRU AUX.
LRU MAIN上存在冷短和热端。
_db_percent_hot_default 50 Percent of default buffer pool considered hot
_db_percent_hot_default参数控制了冷端和热段占整个列表的百分比。默认是50%。
1.jpg
当进程扫描可用块的时候,先从lru aux找起,如果没足够的所需块,再扫描lru main。这个时候涉及一些算法,确定那些块可以被“牺牲掉”。
扫描的话先从LRU MIAN的COLD端的尾部找起。如果发现touch 数字小于_db_aging_hot_criteria,则重用这个buffer.
_db_aging_hot_criteria的值默认为2.
_db_aging_hot_criteria 2 Touch count which sends a buffer to head of replacement list
假如扫描的块的touch为10,那么由于10>_db_aging_hot_criteria,因此不会被“牺牲”,但是会有两种情况
1)如果_db_aging_stay_count >_db_aging_hot_criteria,那么得减半这个buffer的toch数。
2)否则,设置这个buffer的touch数为_db_aging_stay_count
因此可以看出_db_aging_stay_count是个变化的值,默认第一次的值是0.
以我们的情况来说,由于0<2,因此将符合条件2,_db_aging_stay_count的值变为10.
_db_aging_stay_count 0 Touch count set when buffer moved to head of replacement list
假如下一个数据块的touch数为12,12>_db_aging_hot_criteria,由于此时_db_aging_stay_count 的值已经被修改为10了,因此_db_aging_stay_count >2,符合第一种情况,那么将这个数据块的touch数减半,成为6.
还有一个比较重要的参数是_db_aging_touch_time,我们需要简单了解。它代表在达到定义的时间以后,touch数才会被记录。
默认值是3.例如一个数据块A三秒内访问十次,而只会被记录1次。9秒内访问10次,被记录三次。
_db_aging_touch_time 3 Touch count which sends a buffer to head of replacement list
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-683070/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22034023/viewspace-683070/