Using the System Console

March 25, 2020 Contributors

There are system console commands specific to the adaptive module that are useful for troubleshooting:

  • adaptive suspensions – Show suspended deliveries. Pass in parameters to view suspended deliveries from a specific binding to a specific domain.

  • adaptive list – Show the values of the shaping parameters. Again, you may specify particular binding and domain pairings

  • adaptive reset – Clear the values of the shaping parameters. You must specify a particular binding and domain pairing.

  • adaptive rules – Show the adaptive rules that are in effect. You must specify a particular binding and domain pairing.

For more information about these commands (and a complete list of the commands available) see adaptive Management using Console Commands.

The various system console cache commands can be helpful for adjusting adaptive cache options. These commands are:

Use the cache stats command to determine the effectiveness of the binding_domain_cache_size and the adaptive_cache_ttl option settings. Both of these options are adaptive module options and are documented in Options Valid in the adaptive Module Scope (3.3).

Depending on the number of bindings in your configuration and the number of domains being delivered to, the default value for the binding_domain_cache_size option may be too small. You can determine if this is the case by checking the cache statistics from the system console. Access the console with the command /opt/msys/ecelerity/bin/ec_console. Issue the cache stats command and you should see output similar to the following:

05:40:31 /tmp/2025> cache stats
cache name                      lookups %                  deletions %
elts  hit miss pend    total  inserts man  ttl lru  total
---------------------- ----- -------------------- -------- -------------
adaptive_lookup
10000  42   58  0      7649361 651234   0   100 0   523487

elts identifies the number of elements in the cache, ttl the time to live and lru (least-recently-used) indicates the items evicted due to the cache being full. In this case the cache hit rate is only 42% and deletions by TTL is 100%; this means an old entry must be deleted in order to insert a new one.

Change the adaptive_cache_size to 100000 in the following way:

05:45:31 /tmp/2025> config set adaptive adaptive_cache_size 100000

Checking the cache statistics again shows:

06:45:42 /tmp/2025> cache stats
cache name                      lookups %                  deletions %
elts  hit miss pend   total  inserts man ttl lru  total
---------------------- ----- -------------------- -------- -------------
adaptive_lookup
100000  92   8   0   9033111 731760   0  20  80   645041

It is better to see more cache entries timing out due to TTL than being evicted due to the cache being full (lru). The better the cache hit rate, the faster the lookup of the adaptive-tuned configuration parameters will be.

There is no "magic" number that you can set this option to, but once you have satisfactory results make the change permanent by setting adaptive_cache_size in your configuration file.

Note

If you reduce the cache size you will have to restart ecelerity for the change to take effect.