Skip To Content

Anticipate and accommodate event streams

Anticipate and accommodate data feeds

The power of ArcGIS GeoEvent Server lies in its ability to provide real-time visualization and analytics on a variety of data formats and protocols. When planning a deployment, it is important to identify the number of event streams you intend to process and the machine resources necessary to support those event streams. Other considerations such as whether the events will be received at a consistent rate or in bursts are important to think about when planning a deployment. In addition, GeoEvent Server provides some flexibility to modify the service configurations to, in some cases, better handle differences in your event streams.

For details on the minimum system requirements of GeoEvent Server, see System requirements.

Adjust the number of machines

GeoEvent Server should always be deployed as a single machine ArcGIS Server site. When event processing loads are high, a GeoEvent Server machine may approach full CPU utilization and/or memory consumption; therefore, determining the number of ArcGIS Server machines to deploy to accommodate event processing needs is important.

Once your system is deployed, use the logs and server statistics to evaluate how well the machine is performing. Use operating system tools such as Windows Performance Monitor to evaluate machine performance when processing event streams. Finally, some third-party tools and services may be available to monitor system performance. Amazon Cloud Watch, in the Amazon EC2 platform, is an example of a web service that monitors system performance in a cloud environment.

Some event streams such as those with fluctuating event volumes have the potential to consume a large amount of CPU resources. If you can anticipate when event volumes increase, and if you are deploying on virtual machines or cloud platforms, you can deploy additional GeoEvent Server machines temporarily to handle the increased load and take them down when the event volume decreases. Deploying on virtual machines or cloud platforms provides this kind of flexibility.