FAQ: How are ArcSDE Connections Allocated when Serving Data Through an ArcIMS MapService?
How are ArcSDE Connections Allocated when Serving Data Through an ArcIMS MapService?
The ArcSDE giomgr process spawns a gsrvr process for each application connected to the ArcSDE service. The gsrvr process is dedicated to a single-user application connection. It communicates with the database on behalf of the connected application. Since ArcIMS is a multi-threaded application, multiple gsrvr process will get spawned when an ArcIMS MapService references ArcSDE data.
Each MapService is assigned to a specific Virtual Server, which controls how the data in that MapService will get processed. Each Virtual Server is assigned a number of instances, which controls how many requests this Virtual Server can process simultaneously.
To see which Virtual Server the MapService is assigned to, open the MapService's Properties dialog (see p. 95 of the Using ArcIMS guide). To see how many instances are assigned to a Virtual Server, open the Virtual Server's Properties dialog (see p. 100 of the Using ArcIMS guide).
When serving ArcSDE data through an ArcIMS MapService, the number of gsrvr processes spawned on the ArcSDE Server will equal the number of instances assigned to the Virtual Servers responsible for processing requests to the MapService.
For MapServices assigned to an ImageServer (Image MapService), the ImageServer and QueryServer will process requests. For MapServices assigned to a FeatureServer (Feature MapService), a FeatureServer will process requests.
For both types of MapServices, if the map configuration file contains Geocoding properties or Extract properties, then the GeocodeServer and ExtractServer Virtual Servers will also be included.
Multiple MapServices assigned to the same Virtual Server will not spawn additional gsrvr processes. If the MapService's map configuration file points to two different databases within an ArcSDE instance, then the number of gsrvr processes spawned will double.
If you are using Direct Connect to serve spatial data stored in your RDBMS, then you are bypassing ArcSDE altogether. This means that no gsrvr processes are spawned.