ToastCache for EEPC/EEM v5
I finally got around to posting ToastCache to my CTOGoneWild site. This is a simple script which uses a couple of tricks, and a kludge to force the EEM v5 Name index to rebuild on demand.
The EEM Name Index is one of the most useful performance enhancements you can enable within the product – certainly any database running more than 2000 machines needs it turned on to give reasonable performance. The Index speeds up Name>ID resolution. Without it, the server has to crawl the entire database searching for an object which matches the name it’s looking for – This means that logging on slows down for new users (they are placed at the end of the db), and also creating new things takes more time (as the DB has to be trawled end-to-end looking to see if the name is already in use).
The index resolves both of these, and more scenarios by maintaining a “bucket list” of hashed names>IDs.
You can find out more about performance optimizations for your EEM environment from the Administrators Guides which ship with the product, but on to why we need ToastCache.
Simply, the index is not infallible – In an ideal world the index would always be perfect and complete, but it’s conceivable that a server outage, system crash etc might mean the index misses an addition or deletion, so like all databases, it’s good to rebuild it once in a while. By default the index can have a “lifetime”, say one or two days, then it rebuilds itself. The problem is however that it rebuilds on the next access after the lifetime has expired.
Think about that – it does not rebuild at 1am, it rebuilds the next time the index is needed AFTER the lifetime has run out.
This can be annoying, as it’s not possible to access the DB while the index is rebuilding – so that poor admin who has a 1am password reset to do might need to wait a few minutes (or longer) for the index to rebuild before they can login to EEM and help the CEO who forgot his password (again!).
What ToastCache does is corrupt the index and force it to rebuild itself when you specifically want – so you could for example use a scheduled task to run ToastCache at midnight in your quietest time zone.
Of course, you should set your cache timeout significantly longer than the frequency you are running ToastCache to prevent it rebuilding itself at an innopertune moment.
So, as to how to use it – well, read the top of the script – ToastCache will work most stuff out for itself, you should just have to drop it into your EEM directory and create a scheduled task – you don’t even need to set credentials if you have the SBDBServer running as a service – it will piggyback on that.
You may need to set the SupportedAPIVersions string though – I don’t test or update ToastCache often. There have been no radical changes in the API though so it’s still compatible at time of writing.
Anyway, have fun with it – any problems post a thread on our community at https://community.mcafee.com/community/business/data