Optimal load balance configuration with Windows 2008 and SQL Server 2008

I have two servers running Windows 2008 Web Edition and SQL 2008 Standard Edition, what is the best approach to load balancing?

Should I use database mirroring or log shipping? Is Win2008 NLB an easily customizable developer since I am not a sys administrator?

I am looking to be able to run my sites in the event of a single server failure, and also to be able to easily add additional servers if demand increases. My sites run on ASP.Net 3.5, and they all already store the session in SQL Server.

+4
source share
2 answers

SQL Server itself does not support load balancing. You may have active / passive failures with the mechanisms you described (mirroring the database and sending logs), as well as many other parameters, such as clustering or replication.

Two questions to start with:

  • How long can you afford to sleep? (otherwise it's recovery time or RTO)
  • How much data can you lose? (otherwise your target recovery point or RPO)

The more time you can allow yourself to go down, the more data you can lose, then simpler and cheaper solutions will be implemented. The shorter the downtime and less data, the more difficult it is to implement.

For example, synchronizing database mirroring ensures you never lose a transaction. Transactions are made on both database servers before the result is returned to the client. Unfortunately, you experience a significant performance impact under heavy loads, and minimal management utilities are built in there - you want to have a full-time DBA to manage such things.

On the other hand, shipping every 15 minutes means that you can lose 15 minutes of data (or more), and it may take 15-60 minutes to return to the Internet after a failure. However, it is cheap, has a very low performance impact and is pretty easy to configure.

I have an RPO and introduction of RTO on BrentOzar.com and an introduction to HA and DR functions for SQL Server . If you go through them, you will be better equipped to come back and ask more specific questions. Hope this helps!

+5
source

depending on the type of your application, the first thing you need to do is start caching things that don't change much on the web server. this way your database will suffer less. and it’s easier for web servers to scale these databases.

This is a pretty good topic article .

0
source

All Articles