Setting up load balancing on a SharePoint farm running on Windows Server 2008

1. Install Network Load Balancing Feature on each Web Front End

On each front end in the farm, within Server Manager, add the NLB feature:

Click Install and wait a bit

2.Add a New Cluster

Through the start menu, Administrator Tools, click Network Load Balancing Manager:

Right click Network Load Balancing Clusters, and choose New Cluster

Type the IP address of one of the web fronts in the farm to serve as the first host in the cluster

Click Connect.

Click next.

Leave the defaults and click next again:

3.Set Cluster IP Address

This IP Address is the dedicated IP address for the cluster and is what DNS will point to, to get load balanced between the front ends. On the Cluster IP Addresses box, click Add and type an available dedicated IP address and subnet mask:

Optionally, you can setup many clusters IPs for fault tolerance purposes, but for most cases you’ll just have one:

Click next.

4.Specify Cluster Parameters

Select the Multicast operation mode, and click next:

5.Specify Port Rules

Click edit on the default port rule:

Deselect the “All” checkbox, and choose the Network filtering mode:

Click Ok.

Click Finish.

After finish, the NLB manager will show it has begun the configurations changes. If you’re in a remote desktop to the server, you’ll lose your connection temporarily while it re-configures:

6.Add Any Additional Hosts to the Cluster

Now that the cluster is ready to go, you can add additional hosts/web front ends. Right click on the cluster IP address and click Add Host To Cluster and type the IP of another web front end in the farm. Repeat until they’re all added.

Advertisements
Advertisements

Prepare Windows Cluster SharePoint

This part demonstrate how to configure windows cluster for two server, to be used as SQL Cluster.

Before you start

· You need to have two network adapters on each node, one Public and one Private(for heartbeat communication).

· Shared storage (like SAN storage) should be present and connected to both cluster nodes  with at least:

  • Quorum Disk (5GB)
  • DTC Disk (1GB)
  • SQL data files and log file disk(s)

· domain user account (SPSadmin): add SPSadmin user as administrator on both servers

· Prepare a preserved static IP and Cluster Name to be used.

· Prepare a preserved static IP and DTC Name to be used.

Windows Cluster Configuration

1. Install latest windows updates on all server nodes.

2. Install Application role and IIS role on both SQL DB server nodes

3. Install Fail over clustering feature on both SQL DB server nodes.

4. Provide a Cluster Name and Cluster IP for the database nodes:

Note: make sure that the public network is used here not the private (heartbeat)

5. Below are the servers info

6. Cluster Disk files are configured as the following:

7. Configure DTC as clustered service , this is a pre requisite for SQL Cluster installation

8. DTC cluster configuration

9. Assign the DTC a cluster disk

10. Create SQL Group which is a logical group to include all SQL resources in :

Parallel Query Processing

  • SQL Server provides parallel queries to optimize query execution and index operations for computers that have more than one microprocessor (CPU). Because SQL Server can perform a query or index operation in parallel by using several operating system threads, the operation can be completed quickly and efficiently.
  • During query optimization, SQL Server looks for queries or index operations that might benefit from parallel execution.

  • For these queries, SQL Server inserts exchange operators into the query execution plan to prepare the query for parallel execution. 

  • An exchange operator is an operator in a query execution plan that provides process management, data redistribution, and flow control. The exchange operator includes the Distribute Streams, Repartition Streams, and Gather Streams logical operators as subtypes, one or more of which can appear in the Show plan output of a query plan for a parallel query.

  • After exchange operators are inserted, the result is a parallel-query execution plan.

  • A parallel-query execution plan can use more than one thread. A serial execution plan, used by a nonparallel query, uses only one thread for its execution. The actual number of threads used by a parallel query is determined at query plan execution initialization and is determined by the complexity of the plan and the degree of parallelism.

  • Degree of parallelism determines the maximum number of CPUs that are being used; it does not mean the number of threads that are being used. The degree of parallelism value is set at the server level and can be modified by using the sp_configure system stored procedure.

  • You can override this value for individual query or index statements by specifying the MAXDOP query hint or MAXDOP index option.

The SQL Server query optimizer does not use a parallel execution plan for a query if any one of the following conditions is true:

  • The serial execution cost of the query is not high enough to consider an alternative, parallel execution plan.
  • A serial execution plan is considered faster than any possible parallel execution plan for the particular query.
  • The query contains scalar or relational operators that cannot be run in parallel. Certain operators can cause a section of the query plan to run in serial mode, or the whole plan to run in serial mode.

To configure the max degree of parallelism option

  1. In Object Explorer, right-click a server and select Properties.

  2. Click the Advanced node.

  3. In the Max Degree of Parallelism box, select the maximum number of processors to use in parallel plan execution.