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”