KBI 310319 Main Engine and Database On Separate Servers

Version

All Products

Date

19 Sep 2012

Summary

The Argent main engine should not be placed on a production SQL Server.

It is a widely accepted standard rule of thumb that it is best to avoid mixing application and database servers on one computer.

Technical Background

An application server is a server computer that provides software applications with services such as security, data services, transaction support, load balancing, and management of distributed systems.

A database server is a server computer that provides database services to other computer programs or computers, as defined by the client-server model.

SQL Performance

Database performance depends on an optimized I/O subsystem due to the database pages that are constantly moved in and out of the buffer pool, as well as transaction logs and TempDB causing I/O traffic.

An I/O bottleneck occurs if the SQL Server is spawning more I/O requests than the I/O disk subsystem can handle.

SQL servers under heavy load such as lock contention and blockage may lead to high CPU usage.

SQL Server’s default out-of-the-box memory limit is deliberately set to a very high value of 2147483647 MB. Unless the memory is capped or tuned, the SQL Server will utilize as much of this memory as needed for the buffer pool.

Argent Performance

Monitoring can be processor and memory-intensive depending on the frequency and type of Relators running. If using PLINK for Linux/Unix Rules, you can expect that PLINK will use a considerable amount of CPU power.

Argent’s performance is directly related to a healthy optimized SQL Server.

Resolution

Due to the possible resource contention between Argent and the SQL server, it is NOT recommended to install and run an Argent engine on a production SQL Server.

While there is no explicit restriction on this per se, the aim is providing long-term scalability and not “putting all your eggs in one basket”