Overview
The Cireson Cachebuilder retrieves information from the ServiceManager database, transforms it (for example: flattens hierarchies and merges data from multiple tables into one), and then stores it in the Cireson ServiceManagement database.
Most data is retrieved via SQL queries directly from the ServiceManager database, often resulting in more than 20x faster throughput:
- ServiceManager DB -> Cachebuilder -> ServiceManagement DB
The Cireson Portal still relies on the System Center Data Access Service to:
- Determine the users contained in a user role
- Determine the type of scope used by a user role
- Retrieve Cireson-specific settings from SCSM, such as support groups, form groups, security groups, and team groups
The following permissions are required for the Cachebuilder service account:
- Must be a member of the SCSM Administrator user role
- sysadmin rights to the ServiceManager and ServiceManagement databases
The following ports should be available to the Cachebuilder service:
- 5724 - For the System Center Data Access Service on the SCSM management server
- 1433 - Default port used to communicate with SQL Server
Data Being Copied
The following data is copied:
This is a broad area that encompasses the following:
- User access to:
- Work items
- Config items
- Service catalog
- Various “views” found in the site, also called Folder, Sections, and Links on the Navigation Admin page. “My Work” and “Team Work” are examples of these
- Determining and storing group membership for the following groups:
- Analyst, AssetManager, and KnowledgeManager groups, as configured when installing the portal
- Team groups
- Support groups
- Form groups
- Security groups
- Groups targeted by folders, sections, and links on the Navigation Admin page
- Groups targeted by announcements
 Currently, all groups listed above must be located in the same domain as the Cache Builder service account (but may contain users from other domains/forests).
 Group membership is determined by communicating with Active Directory – this is why this operation is not incremental, we don’t currently have a way to retrieve changes made to Active Directory in a given time frame.
 Website restart may be required to pick up changes to this area.
 This operation can take quite a while so it is recommended that you schedule this to run during off-peak hours.
The schedules are based on the time when the Cache Builder was last restarted.
For example, if the service was started at 8:05 a.m. then the Scoped Access operation would run immediately, and then again at 8:05 a.m. the following day and every day thereafter.
 To change the schedule, follow these steps:
- Disable and stop the Cireson Cachebuilder service and terminate any Cireson.CacheBuilder.WindowsService.exe processes in the task manager, if needed.
- Open notepad or a similar text editor as an administrator and then open the file at C:\inetput\CiresonPortal\bin\Cireson.CacheBuilder.WindowsService.exe.config (that’s the default path, yours may be different).
- Look for the "cacheCommandSection" and you’ll see a section that looks like:
- Edit the refreshInterval (measured in minutes) for each operation as desired.  Keep in mind that running cache updates too frequently can have an overall negative impact on performance.
- Save the config file
- Enable and start the Cireson Cachebuilder service
Troubleshooting the Cireson Cache Builder
The Cireson Cache Builder service log is located at C:\inetpub\CiresonPortal\bin\logs.
Because most operations are incremental, sometimes it is necessary to delete the relevant data and rebuild from scratch – instructions can be found here: https://support.cireson.com/KnowledgeBase/View/1142/
The Cache Builder does work with Always On Availability Groups. Â Please refer to: https://support.cireson.com/KnowledgeBase/View/1128/
In some very rare instances, ServiceManager may have a duplicate user entry (two identical usernames in the same domain), so if you see an entry in the Cache Builder log that says: "Building Maps" (may or may not be followed by an error reading "An item with the same key has already been added") and then the Cache Builder restarts, then please refer to: https://support.cireson.com/KnowledgeBase/View/1144/
Cache Builder Maintenance
In v11 of the Cireson Portal a new setting page has been added to assist admins with maintaining their Cireson Cache Builder. This can be found in Admin Settings -> Cache Builder Maintenance
You can now identify which server the Cachebuilder is running on directly in the Cireson Portal
You can also update the logging level (without having to modify values in the config file). You will still need to restart the Cache Builder service to have the logging level take place.
It is also possible to trigger individual Cache Builder syncs by clicking on the Initiate button next to the action you want to sync. Please understand that there will be no feedback on the portal about sync progress, but there will be some details in the Cachebuilder log if you have logging level higher than DEBUG.Â