Tuning GDirty

From SybaseWiki
Jump to: navigation, search

When you run "iq utilities main" summary report, GDirty shows the number of grabbed dirty pages from memory. According to the Sybase documention this value should ideally be 0. The recommended tuning parameters are sweeper_threads_percent and wash_area_buffers_percent.

Sample output of the summary report:

                                                          Summary
                                                   2007-07-17 16:16:30
Active|                    Main Cache                         |                Temp Cache
 Users|  Finds   HR%  Reads/Writes  GDirty  Pin% Dirty% InUse%|  Finds   HR%  Reads/Writes  GDirty  Pin% Dirty% InUse%
     2  238914  98.1  40802/7169         4   0.1    1.9  100.0  488989  99.0  40878/9242         4   4.1    7.3   99.9
     6  278497  98.1  48001/9672         0   0.1   12.6  100.0  560063  99.1  48001/11749        0   8.4   16.4  100.0
     5  226453  97.7  28472/16156        0   0.1    1.5  100.0  588959  99.1  28472/19779        0   2.2   10.7   97.5
     6  202383  98.6  33150/1967         0   0.2    2.0  100.0  474606  99.4  33231/5498         0   0.2    6.8   94.1
     7  303314  98.7  33678/8680       137   0.3    7.0  100.0  669258  99.4  33678/10719      137   0.4    4.8   90.6
     5  357002  99.4  71293/5826       396   0.5    7.0  100.0  495429  99.6  71293/9025       396   0.4    4.9   91.5
     1  340929  99.1  67531/17842     1198   0.0    4.8  100.0  552891  99.5  67531/20993     1198   0.3    4.4   93.0
     4  278524  98.1  52183/7119      2347   0.1    6.5  100.0  431158  98.8  52183/11021     2347   0.3    6.0   95.3
     7  183120  96.3  32305/4261       652   0.1   11.6  100.0  414979  98.3  32532/9837       652   0.1    5.9   95.2
     4  278263  98.6  34219/33269        0   0.2    8.0  100.0  626593  99.4  34219/35855        0   0.7    5.1   96.7
     2  291010  99.0  34281/21889        0   0.0   23.4  100.0  652462  99.5  34281/25707        0   0.9   10.5   97.2
     6  310845  97.6  39144/30112        0   0.2   11.3  100.0  659147  98.8  39499/33867        0   0.2    6.5   99.2
     4  237452  95.2  46043/25674      226   0.6    5.3  100.0 5089134  99.8  46088/27897      226   0.3    2.4   98.2

As you can see, GDirty is above zero at some point. Sofar, test with various combinations of the sweeper_threads_percent and wash_area_buffers_percent have shown that changing sweeper_threads_percent does not make a big difference. When you need to reduce Gdirty, it's best to increase the size of the wash area. The default value is 20 and when you change it, do it with fairly big steps (e.g. + 10%). Do it with "set option public.wash_area_buffers_percent = <new value>" Run tests before making final changes.