User Profile Analysis for Exchange Servers (Who needs the Exchange Profile Analyzer?)

Microsoft

Hey All,

 

some years ago Neil Johnson had written an article about Exchange Sizing without the usage of the Exchange Profile Analyzer.

 

Within the article was a script that is used to collect the data needed for a proper sizing:

 

- messages sent per mailbox per day

- messages received per mailbox per day

- average message size

 

Note: This information is vital for performing good quality Exchange Server scaling.

 

After Neil has changed the position in MS I will try to maintain the script and the article for the future.

 

And now to the technical stuff:

 

One of the nice things since Exchange 2007 is that we can interrogate the message tracking logs via PowerShell. This provides us with a nice way to query what the Exchange Server is doing. Usefully the message tracking logs include sufficient information for us to approximate our user profile data.

 

The author of this script is Rob Campbell, more about the scripts development can be found here… 

 

Hey scripting - use powershell to track email messages in Exchange Server

 

The script is maintained now at https://github.com/msftmroth/MessageStats

 

The script basically works by parsing the messaging tracking logs of your Exchange Servers and then tabulates the information into a CSV file for analysis in Excel.

 

To provide some data to parse I configured a loadgen test against 10 mailboxes with a heavy profile, this should approximate to around 80 messages received and 20 sent per user.

 

The MessageStats script has a single command line parameter which controls how many days back it will look in the tracking logs.

 

The script only parses a single days worth of data, the value you provide define in the script which day to process, so 1 will process yesterdays logs.

 

5661_080911_1617_UserProfile1.png

 

Now we have our CSV file that we can open in Microsoft Excel, however the data required some work before we can get our EPA values. The following screenshot shows the raw data open in Excel. 

 

7750_2011-08-09_1244_34CA617F.png

 

1. Highlight cell A1

2. Press CTRL+SHIFT+END

3. Click on the INSERT Menu

4. Click on the TABLE button

5. Click on OK

6. Open the DESIGN Menu

7. Check the "Total Row" checkbox

8. Hide columns C,D,E,H,I,J,K,L,M,N,O,R,S,T,U

 

You should now have a table with the following columns…

 

- Date

- User

- Received Total

- Received MB Total

- Sent Unique Total

- Sent Unique MB Total

 

1817_2011-08-09_1254_280C42FC.png

 

Note: Due to my test lab being very small I have added a filter to remove any non-loadgen accounts from the data analysis.

 

In the Total row at the bottom of your table add "AVERAGE" subtotals for "Received Total" and "Sent Unique Total".

 

 

7367_2011-08-09_1304_3F4721A0.png

 

In the "Received MB Total" column total cell, add in an "AVERAGE" subtotal, then edit the formula in the cell and divide that value by the Total Row average for "Received Total", then multiply the result by 1024 – this will report the average message size in KB.

 

 

2018_2011-08-09_1303_296D1376.png

 

In the "Sent Unique MB Total" column total cell, add in an "AVERAGE" subtotal, then edit the formula in the cell and divide that value by the Total Row average for "Sent Unique Total", then multiply the result by 1024 – this will report the average message size in KB.

 

1854_2011-08-09_1308_273FEEE0.png

 

We now have all of the information that we require…

 

0211_2011-08-09_1312_2BC5D3CD.png

 

- Messages Received per Mailbox Per Day = Received Total = 68

- Messages Sent per Mailbox Per Day = Sent Unique Total = 17

- Average Message Size = Average of Received MB Total & Sent Unique MB Total (27.37+28.5)/2 = 27.94KB

 

So, using this technique we have managed to approximate our user profile to a fair degree of accuracy without needing to logon to any mailboxes!

 

I suspect that this method is accurate to around +/- 10% which is totally acceptable in this context. Obviously there is a caveat here that I have only performed some rudimentary testing in a fairly small lab environment, so if you do run this in production and find that it generates weird results, or that it validates your already proven EPA data, then feel free to drop me a note to let me know.

 

Thanks to @Frank Plawetzki  for checking

 

Shortcut for this post: http://aka.ms/NoEPA

 

0 Replies