Thursday, July 7, 2016

PerfMon # 3: Configure PerfMon from GUI in local computer;

Okay,, in less that 12 hours I wrote the second installment on configuring PerfMon using CLI now I am writing to do the same from GUI.


If you go to RUN and type 'perfmon', "Performance Monitor" graphical user interface shoots up. Inside "Data Collector Sets" and then "User Defined", you will see a counter name "NOC.PERF.2SEC.




In this post;


1. We will now create the same thing using GUI.
2. We will go into the properties of that counter and explain it's feature and variables in detail.


Just to tell you, please don't freak out by that name NOC.PERF.2SEC. It can be anything. In this NOC is Network Operation Center, PERF is performance counter and 2 Sec is the sample interval of counter.

Let's begin;

1. Go to Run and type PerfMon.
2. Expand "Data Collector Sets".
3. Right click on "User Defined".
4. Click on "New" and then "Data Collector Sets"



5. Give it a name. We will name it as "NOC.PERF.2SEC". The radio button "Create from template (Recommended)" is selected.

6. On next screen select "System Performance" and click on "Next".

7. On next window it is asking you give the location where you want to save the log file.

8. The next page is "Save & Close" then "Finish". It was simple. Is not it ?

No it is not. Because lot more is still yet to be done.



 

Friday, July 1, 2016

PerfMon # 2: Configure PerfMon from Command Prompt (CLI) in local computer;


When it comes to configure PerfMon, you need know the counters & objects.


What is PerfMon Counters?


This is what MSDN says:
Counters are used to provide information as to how well the operating system or an application, service, or driver is performing. The counter data can help determine system bottlenecks and fine-tune system and application performance. The operating system, network, and devices provide counter data that an application can consume to provide users with a graphical view of how well the system is performing.



This is what I say:
- To monitor an operating system’s or any application’s performance we need to monitor its resource utilization. Resource as memory, processor time, disk utilization etc.

- There can be various counters available depending on the services that run on your computer or the application or Server Roles you have installed.
- Depending on your knowledge and requirement you will choose them to target or isolate the issue.
In this post I will tell you the basic 10 counters to monitor a server performance. As a SET-PERF engineer these are the ones that you will use most.


Following is the list of these 10 counters;


1. MEMORY
2. PAGING FILE

3. Cache
4. PROCESS
5. PROCESSOR
6. LOGICAL DISK
7. PHYSICAL DISK
8. NETWORK INTERFACE
9. SERVER
10. SYSTEM



Note: I will explain each one of this counters in detail during our discussion of Analyzing PerfMon.

What is PerfMon Counter Objects?


This is what TechNet says:
Performance objects are built into the operating system, typically corresponding to the major hardware components such as memory, processors, and so on. Other programs might install their own performance objects. For example, services such as Windows Internet Name Service (WINS) or server programs such as Microsoft Exchange provide performance objects, and performance graphs and logs can monitor these objects.

Each performance object provides performance counters that represent data on specific aspects of a system or service. For example, the Pages/sec counter provided by the Memory object tracks the rate of memory paging.


This is what I say: Exactly the same 


Although your system might typically make available many more objects, following are the most frequently used objects:

• Cache
• Memory
• Objects
• Paging File
• PhysicalDisk
• Process
• Processor
• Server
• System
• Thread


So now you understand, objects are subdivision of a counter. One very famous counter is processor. Now inside that total processor counter you may want to see how much is "% idle Time" or "% Interrupt Time" is. You may want to see in total "% Processor Time" how much consumed by "% User Mode" or "% Kernel Mode".


This may sound little weird if you are a first timer. If so, don't wary while analyzing I will explain them all.

Configure PerfMon from command line in local computer;

This is the easy way, trust me.
 
1. Launch command prompt as administrator.
2. Copy & paste following command and hit 'enter'.

Logman.exe create counter NOC.PERF.2SEC -o "C:\PRMT\Logs\PerfMon\NOC.PERF.2SEC.blg" -f bincirc -v mmddhhmm -max 500 -si 00:00:02 -c "\Memory\*" "\Cache\*" "\Paging File(*)\*" "\LogicalDisk(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Process(*)\*" "\Network Interface(*)\*" "\Server\*" "\System\*" 

3. In next line enter following command;
Logman.exe start NOC.PERF.2SEC

4. After both the commands completes successfully, it would look like this:



5. Wala !! you have configured PerfMon from CLI.

In next post we will do the same from GUI.
I know I need to explain  the command to you. I will do that after we configure exactly the same from GUI.

Untill then..... cheers ..

Thursday, June 30, 2016

PerfMon # 1: What is PERFMON or Performance Monitor:


PerfMon # 1:

What is PERFMON or Performance Monitor:


 
This is what TechNet says about PerfMon:

You can use Windows Performance Monitor to examine how programs you run affect your computer's performance, both in real time and by collecting log data for later analysis.

Performance Monitor is a simple yet powerful visualization tool for viewing performance data, both in real time and from log files. With it, you can examine performance data in a graph, histogram, or report.

Now, what I say:

n  PerfMon is a native tool built-in in Windows client & server computers.

n  It uses very small amount of resource while running.

n  It captures predefined performance data (counters) in predefined intervals.

That means if you configured it to capture CPU Time (or memory or disk) in every 5 minutes interval, then it will write CPU Time in every 5 minutes (in a log file with extension .BLG) until you stop it or it reaches to its limit. We will discuss more about its configuration details in a moment.

n  Using this tool you can monitor live performance statistics of your local machine or multiple remote machines.
 

Note: In this first PERFMON post we will discuss only about .BLG logs. In future (maybe) I will write about .ETL log capture in PerfMon as well.


Reference:

1.   Using Performance Monitor:

 

2.   Windows Performance Monitor:


In next post we will talk about configuring PerfMon using command line and GUI. Stay tuned ...

Windows Server Performance


Performance Core or SETUP-PERF is what we used to call it. Now days they call it 'Reliability & High Availability' inside Microsoft.

 
Bluntly, what I have experienced in my current and previous companies, is SET-PERF team supports everything. Be its a issue with AD, Exchange, SharePoint, SQL; if they get a single hint of performance issues, the case goes to PERF team. If the issue can not be fixed by any team or all other LOBs fails to fix, that means the issues must be lies with core Windows (as per them) and the issue goes to SET-PERF.

 
This is good and bad too. That means a SET-PERF engineer is always busy while others are playing carom or watching the match. However a SET-PERF engineer is always in demand and no one argues with him.

 
Followings are a kind of list of issues that we face everyday;
(Forgive me; this list is only the tip of the iceberg. As I told you there can be anything and everything.)

  • Blue Screen Of Death (BSOD) or Server Bug Check or Crash
  • Server Hang or Freeze.
  • High CUP / Memory / Disk utilization.
  • Memory / Pool / Handle Leak
  • Application Crash / Hang.
  • DCOM, WMI, MSDTC related issues.
  • Printer related issues.
  • RDS or Terminal Server related issues.
  • Slow Boot Slow Logon (SBSL).
  • Microsoft Cluster.
  • Windows Backup & Volume Shadow Copy
  • Disk & File System Errors

Alright, you may ask me; there are so many webpages or TechNet articles describing these issues or covering these topics, so why are you writing (copy-pasting) another one!!

 
The reason is;

  1. I am writing to help myself, to keep all my stuffs in once place.
  2. The amount of copy-paste will be minimum & I will make the posts to the-point and in  handy way. The way I wanted them while searching.
  3. Amount of wisdom / lecture (gyan) will be least.

 
Now, just the preface of next post; PERFMON is bread & butter of a SET-PERF engineer. So the very next post would be on PERFMON. We will discuss how to capture PerfMon data locally & for remote computer. Once done will analyze the data that we have captured.

 

 
Anyway, enough talking, lets finish this post.... see you soon ...

Until then CHEERS !!

 

 

 

The Begining; Introduction

Hello Reader,


I am not sure how much this (my blog) will help you. However if it does, I will be glad as well as fortunate.
The main reason of creating this blog is to help myself, to keep my all technical knowledge & data at one place.
During my years of troubleshooting Windows Servers (SETUP & PERFORMANCE) I have come across multiple issue and some of them are remarkable. I would like to preserve those. 
I would also like to share the knowledge to others as well. So that life/job can be little easier.
So if you are interested, I would love to hear back from you. Get me on: https://www.facebook.com/kuntal.k.basu 


cheers ..


yah, almost forgot ...

My name is Kuntal Bose.
I am from a Indian small town (village) where the pin code is 735101. Currently I am away from my home and I miss জলপাইগুড়ি। 


:)