The following section discusses how to decide which servers are required and how to configure them. Server configuration and placement is important as it affects performance.
The Search and Rulebase Servers are packaged together in one executable image called
ssasrsv
. Based on start up parameters,
ssasrsv
can function as one of the following servers:
Search Server
Rulebase Server
Search and Rulebase Servers
All clients communicate with the servers using a socket interface over TCP/IP. Communication costs vary based on where the client and server are placed. In order of most expensive to least expensive, they are:
remote machines
same machine
same executable process
Clients on remote machines incur the cost of network transmission. Clients on the same machine will take a shortcut through the TCP/IP protocol stack and avoid the transmission costs. A combined Search and Rulebase server takes this one step further by bypassing TCP/IP altogether. Therefore it is advantageous to run a combined Search/Rulebase Server. If more Search Servers are required, they can be started as standalone Search Servers configured to access the Rulebase in the combined server.
Before launching the servers you must decide:
which servers are required
how many Search Servers are required
which machines the servers will run on
The Console Server is required if you want to use the Console Client to administer MDM Registry Edition. A Connection Server is recommended for stateless search clients. At least, one search Server is required. In general, one Rulebase Server must be started.
Session Pooling Parameters
You can configure the session pooling method by setting the following environment variables in the
env\mdmres.bat
(Windows) or
env/mdmres
(UNIX) file:
SSA_SESSION_POOL_MAX
Maximum number of search requests that the Search Server can retain in the pool of search requests. The configuration does not impact the maximum number of search requests that the Search Server can run simultaneously. After the Search Server completes the search requests, it retains the maximum number of search requests that you had set in the pool.
Default is 100. You can disable the session pooling method by setting the SSA_SESSION_POOL_MAX variable to 0. Disabling the session pooling method results in the creation and destruction of the search-related resources based on the demand.
SSA_SESSION_POOL_TIMEOUT
Time period for a search request to remain unused in the pool of search requests. After the specified time period, the Search Server releases the unused searches from the pool, which frees the server resources and closes the database connections. You can specify the time period in seconds (s), minutes (m), or hours (h).
Default is 7200 seconds, and the default unit is seconds. For example, if you set the value as SSA_SESSION_POOL_TIMEOUT=3600 or SSA_SESSION_POOL_TIMEOUT=1h, the Search Server releases the unused search requests from the pool after one hour.
SSA_SESSION_POOL_LOGGING
Level of logging that you want for a search request. The logging level ranges from 1 to 3, where 1 indicates minimal logging and 3 indicates extensive logging. Default is 0, which turns off the logging function.
Search Client Limit
The Search Server supports approximately 250 concurrent search clients. The limit is dependent on many factors, including available memory, free sockets, and the type of searches defined in your System. Multi-searches require more internal resources than individual searches, and searches that use SSA-NAME3 require more resources than searches using database indexes (such as Lite-Indexes). In the following discussion, the quoted limit of 250 must be understood as an approximate limit. Your implementation might support many more users, or in some particularly resource intensive cases, somewhat less than 250.
Will there be more than 250 concurrent search clients? If not, you must start a combined Search/Rulebase Server. If you expect more than 250 clients, start a combined Search/Rulebase Server, and one or more standalone Search Servers. It is assumed that your Application Server performs load balancing by distributing search client connection requests between all Search Servers.
Is your database in a cluster? If so, consider running multiple Search Servers and a Rulebase Server Group.