Size of Database Server

The cost of the hardware must be balanced against the need to give optimal performance. In addition, increasing the speed of processor, the number of processors and increasing the amount of memory all have a positive effect on performance.

Number of Processors

ExtraView will always attempt to spread the load from concurrent user requests across all available processors in the server. Thus additional processors have a significant effect on overall performance. ExtraView transactions such as inserting or updating issues require comparatively small processing power and if they are processed in series, there is not a significant effect on performance from the perception of the user. However, if a single user initiates a complex query that takes several seconds to execute (potentially longer in a system if you are analyzing tens of thousands of records), then the processor that handles the query is not available to other users at the same time. The following chart shows ExtraView’s recommendations for the number of processors to use in your main database server machine. Do not confuse the number of active user sessions with either the total number of users in your system or with the number of users signed on at the time. The number of active user sessions is the number of users who are concurrently competing for resources and attention from the processor(s).

It is suggested that you also consult your database documentation for advice on how to best select the correct number of processors for your database server.

The application server may reside in the same machine as the database server and / or web server. ExtraView’s recommendation is to use a single-processor or dual-processor computer for the application server for less than 20 (or thereabouts) concurrently connected users, but to use dual-processor computers for greater numbers. The cost of hardware is a relatively inexpensive part of the overall cost of ownership of a system based on ExtraView, and the incremental performance of good hardware will repay itself many times over, during the life of the system.

Processor Type and Speed

It is axiomatic that higher processor speeds will result in better performance. ExtraView’s recommendation is to install the fastest processor you can afford, commensurate to the number of users being supported. As a rough guide, install a computer with one or more processors with a minimum speed of 2 GHz.

Memory

  • Database. The database provider’s recommendations for the database should be followed. ExtraView recommends 4 GB of memory or more be available for the database for small installations (less than 50 users) and at least 8 GB of memory for large installations (more than 250 concurrently connected users). Note that this is the allocation for the database only and that memory must be allocated to the operating system and other software intended to run on the server. Also note that Windows operating system servers require significantly more memory than UNIX or Linux operating systems.
  • Web and Application Server. This section refers to the use of Apache web server and Apache Tomcat application server. However, ExtraView supports other servers such as BEA WebLogic. Beyond the main memory required to run the recommended Apache web server and recommended Tomcat application server, ExtraView requires an additional amount of memory for each active user session. You can consult the Apache and Apache Tomcat documentation for the precise memory requirements, but ExtraView’s experience is that this is a relatively modest amount. There are two main controls for user sessions:
    1. The length of time a session remains available, before the server expires the session. This is set by the application default named SESSION_EXPIRE_TIME_HOURS. The default is 8 hours.
    2. The behavior settings named NOSPILL_SESSION_COUNT and SPILL_SESSION_COUNT are used together to provide a tuning capability for administrators in sites where sessions may be swapped onto/off disk. NOSPILL_SESSION_COUNT: this count defines the number of sessions to be maintained in memory. By setting this number very high, the swapping is effectively disabled, whenever the number of active sessions is unlikely to grow larger than this count. SPILL_SESSION_COUNT: this count defines where sessions must be spilled to disk; this number must be larger than NOSPILL_SESSION_COUNT. If the session count exceeds this number, session data will be spilled to disk until there are SPILL_SESSION_COUNT active sessions left in memory before any new sessions may be instantiated in memory. SPILL_SESSION_COUNT indicates the total number of sessions that may be in memory at any time. When the number of active sessions in memory is between SPILL_SESSION_COUNT and NOSPILL_SESSION_COUNT, a background task spills least recently used sessions to disk, but the creation of new sessions will not be delayed.

The characteristic of ExtraView’s management system for the session cache is that each user session requires between 100 KB and 250 KB of memory, according to what function the user is executing at any given moment. In addition, if the user is preparing a report, the amount of memory can be considerably more in order to cache the result set of the query. This memory is only required for a short period of time while the query is executing. ExtraView automatically runs a “garbage collection” routine on an internal timer to reclaim any unneeded memory and return it to the main system pool. You should provide at least 2 GB and preferably 4 GB memory for the application server.