![]() |
|
|
| Become a Columnist Microsoft Exchange Site Microsoft Support SiteMSDN Exchange Site | ||
|
|
ECMS Dashboard Cache Engine Since the most pressing problem is the constant access to the SQL server, we will begin with the Dashboard Cache Engine product.
Here are the three presented scenarios: User Dashboard Sessions
In this scenario, all refresh access to the SQL server is eliminated. The SQL server is only contacted if a change is made to the dashboard. User Dashboard Reset Since the cache is a small
Administrator Reset An administrator modifies a web part or a global dashboard: A. All cached dashboards will be cleared (forcing a rebuild when the user next logs on).
The IIS server acting as Factory stores a copy of the constructed dashboard design for each client that connects to the server. This “Dashboard Web Server” has added customized Com+ components for redirection and process. The actual cache files are kept in a dynamic sub-directory of Dashboard named cache. In some situations, multiple web servers are required in order to process tens of thousands of users. In these situations, replication of the cache directory between IIS servers is necessary in order to maintain continuity in the user dashboards no matter the server that processes their requests. The IIS server that processes the request will “brand” the cache file with its own name. The “branding” causes the client to seek the same server. The cache file will automatically redirect the user to the server that created the cache file. It is important to consider this when determining your cluster or load balancing techniques. The Factory ASP engines have also been altered to first look for a web cache of the data. This is accomplished through the dashboard_const.inc file located in the dashboard directory on the server: Before Modifications: <% In the default configuration, the Portal server is the local server. SQLWBCAT refers to the virtual directory in IIS that actually points to a SQL database on the same machine. By identifying a cache directory on the local server, we can direct the users to small localized “snapshots” of their dashboard settings. We also modify this file to point to backend SQL servers. After Modifications: <% As you can see from the settings above, we have specified that the PortalServer is http://Portalsubscriptionserver. If we had let this setting match the servers setting in the ROOT_CACHE_URL (server name), the server would act as a standalone running SQL and IIS. Here is the overall process in the ECMS two-tiered approach to the problem:
Two-Tier Performance As we mentioned earlier in the document, by creating a cache of the dashboard and separating the services each server provides, we can dramatically increase the capability of the server(s). Refreshing the dashboard still impacts servers since all Dashboard calls request access to the data layer. Here are the refresh results in the Two-Tier scenario: Digital Dashboard Server (Front end Tier) This server represents the altered Digital Dashboard Server. This server has an added COM+ component as well as updated Factory ASP and Store pages. This server does not run SQL server. The primary purpose of this server is to provide IIS services to the client as the Factory and Store for the Dashboard System. There are several client functions that can affect this server: Client Dashboard Refresh ECMS has modified the factory and store engines to reduce server impact during dashboard loads and refreshes. The following chart details the specific activity of the Dashboard Web Server during such refreshes and dashboard loads (from cache).
These loads also represent only the amount of data required to support the dashboard systems. Any and all additional load such as portal items should be tested in pilot and considered when determining system requirements.
|
Disclaimer: Your use of the information contained in these pages is at your sole risk. All information on these pages is provided "as is", without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Stephen Bryant or Pro Exchange. OutlookExchange.Com, Stephen Bryant and Pro Exchange shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.
Copyright Stephen Bryant 2008