Home > IIS > How to figure out IIS Load in NLB

How to figure out IIS Load in NLB

 

As a good practice always collect data on a non-production system.

  • Create a User Defined Performance Collector with below counters for all the web servers added in NLB.
    • Web Server
      • Current Connections
      • Connection Attempts / Sec
      • Login Attempts / Sec


You can save the collection data onto SQL Server, text files, Binary files etc. I mostly save the data in .blg format (Binary).As it is convenient to open the file in Performance Monitor.

Once the collection set is created you can schedule it to run continuously every sec or time you like to monitor, I mostly do it every 1 min.

Let’s say you ran the Performance collection set for one day and collected enough data to analyze. Stop the Collector Set as opening the in-use file can corrupt it.


Open the file in performance Monitor tool.


Performance monitor will do a graph representation for all the data you collected for the duration, but still it give us much information to analyze. Select the counter for each server and see the Average Load of the server.

Performance monitor will give a consolidated Average for the duration data has been collected.

To do deeper analyses on Web Server Load (Average Connection per Hour /Per Day, Peak Load etc.) I load the data into SQL Server using windows performance monitor relog.exe.

Loading the data using relog.exe require ODBC Data Source for SQL Server.

Uploading the Data into SQL server


As u can see from the above picture, I loaded the data into database named Perfmon using ODBC SUFIAN_XYZ_1 successfully.

  • Tables Created on successful data load
    • CounterData
    • CounterDetails
    • DisplayToID    

Stage the data as required; I used the data to analyze all Web Server Load Daily / Hourly.

SQL Query:

SELECT cd.MachineName,cd.CounterName,

SUBSTRING(c.CounterDateTime,0,12)
Date,SUBSTRING(SUBSTRING(c.counterDateTime,12,len(c.counterDateTime)),1,2)
Hour,

sum(c.CounterValue) TotalConnections,

round(sum(c.CounterValue)/count(SUBSTRING(SUBSTRING(c.counterDateTime,12,len(counterDateTime)),1,2)),0,0) Avg_Connection_PerHour

FROM CounterData c INNER
JOIN CounterDetails cd

ON c.CounterID=cd.CounterID

Group
By cd.MachineName,cd.CounterName,

SUBSTRING(c.CounterDateTime,0,12)
,SUBSTRING(SUBSTRING(c.counterDateTime,12,len(c.counterDateTime)),1,2)

Order
by cd.MachineName,cd.CounterName,SUBSTRING(c.CounterDateTime,0,12)
,

SUBSTRING(SUBSTRING(c.counterDateTime,12,len(c.counterDateTime)),1,2)

ASC

 


Copy the Data with head and paste I to Excel and create a PivotTable and chart as below


Graph



Categories: IIS
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: