Jun 4, 2010

SharePoint Farm Communication - can be performance bottleneck

This blog helps to ensure that the SharePoint Farm communication is not becoming the performance bottleneck for the application deployed onto the SharePoint farm.

SharePoint Application Communications:


Inter Server Communication

• Within the SP Server Farm.

Intra Server Communication

• Between SP WFE Server and External Server (system).

Client Server communication

• Client Browser/Machine and SP WFE Server

Database Load

• SP SQL Server database



Tools used to analyze the communications mentioned above:

Inter Server Communication

• WireShark Installed on WFE Server

Intra Server Communication

• WireShark Installed on WFE Server

Client Server communication

• Http Watch on Client Machine

Database Load

• SQL Profiler on the SP SQL DB




Identify the IP of all the Involved Servers

1) SP SQL Database server

2) WFE Server(s)

3) DNS

4) ISA

5) Application Servers

6) Client Machine

7) External Business application servers




Execution Pre requisites:

If applicable perform the following

1) Remove load balancing

2) Blank homepage for client machine browser

3) No one else other then the person performing network analysis i.e. any other user (application user or admin user is accessing the SP farm or the application by one or the other mean)

4) Make sure the external servers are up and running.



Execution Steps:

1) In the SP Farm restart the following services on all servers as applicable

• IIS

• SQL Server Service

2) Clean the client machine browser cache, close and open again.

3) Run the Wireshark on the WFE

4) Run browser with httpwatch on Client machine

5) Browse to site, stop and save the results of wireshark and httpwatch.





Analyze the WireShark and HttpWatch Results, following can be leveraged:

Protocols used between SP servers

o For database it’s TDS.

o Used by search and query services is SMB

o Obviously, also the http protocol.

Ports used in communication

o SQL Server 1433

o AD Authentication on TCP:445 or TCP:88 (Kerberos)

o LDAP:389 and LDAPS:636

o DNS on TCP:53

o SMTP on TCP:25

o Shared Service Provider web service calls on 56737 & 56738 (SSL).

In Wireshark

o Use “follow by tcp stream” to look for time duration, hiccups

o Filter by “tds.size>0”, “ip.dst eq 10.98.88.234”, …

o Look into packet details like sequence, offset and so on

 
Using the above steps you can disect the communication between the servers and pin point the cause or track down the server, which is culprit for the poor performance of the application deployed on to the SharePoint farm.

Once the cause is identified, we can perform the following

Deep Dive Analysis using one of the below method as applicable


• Code profiling

• Third party tools like idera to identify the component quickly

• System tools like perfmon

• Track Un Ghosted Pages: ghost hunter tool

• SQL Profiler

* Look at other performance related blog at my site

References:

No comments:

Pages