Spotfire Server and Environment - Quick Start

Web Player and Automation Services resource usage

An open analysis consumes two main types of resources: memory and CPU.

Other metrics can affect performance, such as disk, input/output (IO) and network speed, but memory and CPU are the major items to consider when defining a hardware configuration.

Health status

The Memory health status and Processor health status indicate the maximum memory or CPU utilization on the computer. These are the status levels.

Status Description
OK Indicates low utilization.
Strained Indicates that the service instance is well utilized. This level does not indicate a problem. Users of analysis files that are not yet cached will be routed to a service instance that is not strained, if possible.
Exhausted Indicates that the service instance is fully utilized. No new users or Automation Services requests are routed there, except for scheduled updates. Web client users who are already working on this instance can continue working.

The limit for each level is configurable. You can use different configurations for different system configurations and use cases. For example, these use cases might require different health status limits.

  • To avoid locking users out during temporary peaks, disable the CPU exhausted status by setting the exhausted limits for CPU to -1. See Temporarily disabling the CPU exhausted limit for more information.
  • If a very large number of users want to use the same analysis file, and the file is small enough to fit in many instances without filling the memory, consider one of the following tasks.
    • Add the file to scheduled updates to be cached on all instances.
    • Set the Strained CPU limit very low to start routing analysis files to other instances well before the first one is fully engaged.

CPU usage

If the level of CPU use is very high, the response times can become longer for the end user, but the system still functions. If that happens during long time periods, then scale up the number of CPUs or to add more computers for the services.

Memory

Memory use is more important and also more complicated than CPU usage. If the system runs out of memory and is not able to page out enough data, then the system may stop functioning.

Spotfire uses two types of memory: data engine memory and .NET memory.
  • Spotfire pages out data engine memory, as needed, to free memory. In many cases, this strategy works well because analysis files typically contain a lot of data that is not constantly needed. However, if the same data is rapidly and repeatedly paged out and in, then the response times can become poor. The query cache is a part of the data engine memory that speeds up the system by reusing calculations. The query cache is usually paged out early when the system is low on RAM.
  • The .NET memory is used to build up the document, so complex analyses with many pages, plots, columns, and so on, uses more .NET memory. Memory handled by .NET can release data, but it can be left in the heap. The system can operate as if the memory might be used later, so it keeps the memory in the process. Garbage collection (GC) handles the internal memory, which frees chunks of memory that are no longer required. Some GC is quick, and other GC is more costly and can block the system for several seconds.