Troubleshooting “Load Balancing Error” in SharePoint Farm
Issue: SharePoint farm experiences performance degradation, request timeouts, or uneven server load distribution due to load balancing configuration issues.
Causes: Misconfigured load balancer settings, faulty health checks, session persistence issues, or uneven traffic distribution.
1. Identify Load Balancing Issues
Before applying fixes, determine the root cause of the load balancing error.
Symptoms of Load Balancer Issues:
✅ Slow page loads or timeouts when accessing SharePoint.
✅ Users randomly being logged out or losing session data.
✅ One server handling most requests while others remain idle.
✅ HTTP 502, 503, or 504 gateway errors.
✅ SharePoint services failing intermittently.
Tools for Diagnosis:
🔹 Fiddler / Wireshark – Analyze HTTP requests and responses.
🔹 ULS Logs (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\LOGS
) – Check for load balancing-related errors.
🔹 Event Viewer (eventvwr.msc
) – Look for network-related warnings/errors.
🔹 IIS Logs (C:\inetpub\logs\LogFiles
) – Verify if requests are reaching all servers.
🔹 PowerShell – Check SharePoint server health:
Get-SPServer | Select-Object Name, Role, Status
2. Check Load Balancer Health Checks & Server Availability
Load balancers monitor server health using periodic health checks. If a server fails, it may be removed from rotation.
Fixes:
🔹 Verify that all SharePoint Web Front End (WFE) servers are responding:
Test-NetConnection -ComputerName <ServerName> -Port 80
🔹 In Load Balancer Configuration, ensure that:
- The health probe URL points to a valid endpoint (e.g.,
/_layouts/15/healthcheck.aspx
). - All WFE servers are listed and active.
- The health check interval is set to an optimal value (5-10 seconds).
🔹 Restart IIS to refresh configurations:
iisreset /noforce
3. Ensure Session Persistence (Sticky Sessions) is Configured Properly
If session persistence is not enabled, user sessions may switch between servers, causing login issues or session timeouts.
Fixes:
🔹 Enable sticky sessions (affinity) in the load balancer settings.
🔹 For SharePoint authentication, configure Forms Authentication or Claims-based Authentication to maintain session integrity.
🔹 If using Azure Load Balancer, enable “Source IP Affinity”.
4. Verify Load Balancing Algorithm & Traffic Distribution
Load balancers distribute requests using different algorithms. Incorrect configurations can overload one server while others remain underutilized.
Fixes:
🔹 Use Least Connections or Round Robin for evenly distributed traffic.
🔹 Monitor load distribution using:
Get-SPServiceApplicationPool | Select Name, Status
🔹 If using Windows Network Load Balancing (NLB), verify node status:
wlbs query
5. Check Firewall & Network Settings
Blocked ports or misconfigured firewall rules can prevent servers from communicating properly.
Fixes:
🔹 Ensure the following ports are open between the Load Balancer and SharePoint WFEs:
- HTTP (80)
- HTTPS (443)
- SQL Server (1433, 1434)
- Central Admin (32843)
🔹 Runtelnet
to test connectivity:
Test-NetConnection <WFE_Server> -Port 80
🔹 Check firewall logs for dropped or rejected requests.
6. Optimize IIS & Web Application Settings
IIS misconfiguration can impact load balancing performance.
Fixes:
🔹 Verify host header bindings in IIS for SharePoint Web Applications.
🔹 Adjust IIS Application Pool recycling to avoid unnecessary session resets.
🔹 Increase the connection timeout:
Set-WebConfigurationProperty -filter "/system.applicationHost/sites/siteDefaults" -name "connectionTimeout" -value "00:05:00"
🔹 Enable HTTP Keep-Alive to reduce connection overhead.
7. Optimize SQL Server Performance to Prevent Backend Bottlenecks
Slow SQL Server queries can delay responses and cause perceived load balancing failures.
Fixes:
🔹 Set max memory limits for SQL to prevent resource contention:
EXEC sp_configure 'max server memory', 12288;
RECONFIGURE;
🔹 Optimize SharePoint database performance:
- Rebuild indexes (
ALTER INDEX ALL ON [TableName] REBUILD;
). - Reduce tempdb contention by increasing tempdb files.
8. Monitor and Automate Load Balancer Performance
Regular monitoring helps detect and resolve load balancing issues before they impact users.
Fixes:
🔹 Configure Performance Monitor (perfmon.msc
) to track server load.
🔹 Set up SharePoint Health Analyzer alerts for connectivity issues.
🔹 Use Azure Monitor / AWS CloudWatch for cloud-based SharePoint deployments.
🔹 Schedule regular log analysis using PowerShell:
Get-EventLog -LogName System -Newest 50 | Where-Object { $_.EventID -eq 10016 }