Re: Running multiple instances in production environment. Good or bad?

From: Anthony Thomas (ALThomas_at_kc.rr.com)
Date: 02/19/05


Date: Sat, 19 Feb 2005 12:43:06 -0600

There are ONLY 2 reasons why we have ever considered multiple instances.

1, VERY large hardware running the 32-bit kernels. The reason is that there
are severe memory limitations on the 32-bit platform. Although AWE can
increase the usage of additional memory, it is limited to data pages from
the Buffer Pool and a few other odd items; however, most of the work is in
all of the memory structure handles for AWE data page mappings, open
objects, connection objects, execution context threads the User Mode
Scheduler processes, linked-server definitions, extended stored procedure
binaries, THE PROCEDURE CACHE, etc., etc., etc, which must all be resident
in the lower 2 GB - 3 GB USER MODE memory space.

So, taking an 8-way, 16-way, or 32-way processor system with say 8 GB, 16
GB, 32 GB, or 64 GB memory, you could slice the system into several 4 GB - 6
GB, 2-way to 4-way installations.

However, in your case, you are running SQL Server Standard Edition, which
can not use AWE nor fully address the upper memory available when using the
/3GB boot.ini switch. Moreover, you only have 2 processors and 2 GB of
memory. I would strongly recommend that you run only 1 instance and, you
may have insufficient hardware to even accomplish this, especially if you
attempt to run other sever software on the same host, e.g., IIS or COM
services.

SQL Server Standard Edition can use up to 2 GB for the Buffer Pool. With
the /3GB switch set, external executable calls, that require resident memory
outside of the Buffer Pool (MEM TO LEAVE) could also make use of this
additional 1 GB above the 2 GB Buffer Pool. Then, there is the OS, which
also requires both Private and Public memory.

In addition, SS2K SE can be used on up to a 4-way SMP server. Unless both
of these application systems are extremely light-weight. I would recommend
that you get at least a 2-way HTT system with a minimum of 3 to 4 GB on
Windows 2K3 Standard Edition. If you want to go multi-instance, a 2-way HTT
SMP 4 GB system would be a minimum and you may wish to consider a 4-way HTT
with 8 GB to 16 GB of memory on a Win2K3 Enterprise Edition or Win2K Adanced
Server.

2. The next potential installation that could make use of multi-instancing,
is server virtualization, similar to what a VM server would do for the
application space.

We have 1 application that "requires" being THE "sa" in order to manage all
of the SQL Server administration through the vendor API. On a co-hosted,
virtualized system, I do not think that other application systems, vended or
otherwise, would appreciate the security concerns of having another API have
complete control of its systems.

In this case, still using a single set of hardware, you could provide
"isolated" secured environments for the two, or more, systems. However, be
aware, that just like VM or Terminal Server systems, you will still need the
single server to have capacity nearly equal to, or more, than the individual
systems would have had had they been independent, stand-alone,
installations.

Again, in your case, I believe you do not have nearly sufficient hardware to
pull this off successfully.

Keep in mind also that these arguments above are independent to a single
server or single fail-over cluster installation. The same analysis would
apply if you attempted a single-instance (Active/Passive) or multi-instanced
(Active/Active) cluster because, at any time, a single server could become
multi-instance during a fail over condition. At that point, you would be
running all of the installations on a single host.

Hope this helps.

Sincerely,

Anthony Thomas

-- 
"Per Williamson" <per.williamsson@bredband.net> wrote in message
news:22459782.0502020433.3898081c@posting.google.com...
Hi there,
Hoping to get a answers from people with "real life" experience of
running multiple Sql server instances!
I have two different application using two different sets of
application databases, and for licensing reasons I´m going to let them
use the same physical database server. Both of them, I should mention,
require fairly low performance (5-10 concurrent users, resp. 1-2
concurrent users). My server has two 2.6 Ghz processors and 2 Gb
memory.
As I have a Sql Server Standard Edition, "Per Processor" license, I am
now considering to have two different Sql Server instances, serving
one application each. Some of advantages, as I see them are:
1) The "owners" of the different applications feel they have their
"own" server (may be of psychological importance)
2) Separates the SA roles, and improves security.
3) One of the application is new to the organization and will need a
"running-in" period. Makes it possible to avoid disturbance in case of
needing to restart Sql Server.
I have read some of the postings in this forum, and most of them seem
to be negative to running multiple instances in a production
environment, mainly due to the fact they will compete for system
resources.
I now wonder if there are people out there with real experience of
running multiple instances. In theory, performance can suffer hard,
but in practice? Is it stable?
Thanks in advance
Per Williamson


Relevant Pages

  • Re: Memory issues with 64-bit SQL Server 2005 on 64-bit Win 2003 C
    ... I also checked the individual patch levels for the .NET drivers, SQL Server ... The SQL Server is fully patched, however Windows Update reported that the OS ... Lock pages in memory -- I guess you might have taken care of it as well. ...
    (microsoft.public.sqlserver.clustering)
  • Re: FTS Performance in SQL 2005
    ... I don't think you have left enough memory for the OS and MSSearch. ... Looking for a SQL Server replication book? ... Looking for a FAQ on Indexing Services/SQL FTS ...
    (microsoft.public.sqlserver.fulltext)
  • RE: Insufficient memory Available
    ... Insufficient memory available. ... within the scope of SQL Server. ... "MemToLeave" area. ...
    (microsoft.public.sqlserver.server)
  • RE: server problems
    ... This newsgroup only focuses on SBS technical issues. ... >Thread-Topic: server problems ... >> web proxy service or SQL Server will normally use large memory. ...
    (microsoft.public.windows.server.sbs)
  • RE: server problems
    ... > web proxy service or SQL Server will normally use large memory. ... > the SBS server and sends the alert when the value reaches the threshold. ...
    (microsoft.public.windows.server.sbs)