The Fallacy of Performance or; Are you bringing your Support Agent Apples or Oranges? VM Virtualization Performance with DiskSpd.

The Fallacy of performance.

I don’t think you don’t already know this. My experience does tell me that we all group things together naturally and sometimes the performance issues we find, are really assertions made, with one piece of evidence. This performance claim is generally hard for a support agent to frame. Not that your case wont be worked, on. It will. It just it may take support teams hours or weeks to get to the truth of your statements.

I have to write this because it is so prevalent. When someone calls me and they want to open a support case, I generally try to standardize the case to some truthful statements, which I can prove, disprove, or alter.

However one such case type, that does not fit into such neat lines is the Virtualization of Performance case. Rather than describe in computer terms, let’s use American Auto Makers Ford and Chevy.

Baselines Matter

I Studied Ford and Chevy Specifications for months. I know the performance characteristics of each very well. Let’s even say I own a Chevy, and I am now looking for a second car of equal specifications. Let’s even say I own a Ford and am looking for a second ford. Then I purchase that second car, and on the way home, I find that the one car does not seem to meet the specifications of the first!

Of course I must call the car company and make the complaint that one car is not as fast as the other, or not as quick to brake, or some other specification. How about this; the air is not as cold in one as it is in the other!! This is what happens in Performance calls.

Just so you know we technically should not even entertain these types of questions. But in support we do, to some degree, because we want to help, and were not sure what your showing us yet. We don’t see the pieces for several calls.  You can’t force it, it just takes time.  This is because you are asking us to form a relationship to ideas that are not related. Two cars are not related, two computers are not related.


How about taking a cross country trip? One car crossed the country in three days. The other took 4. At this point you may be seeing my point. Trying to get down to difference in different items, of any type can be like comparing apples to oranges. What’s even worse is when one of the items is off limits. So My Ford is definitely slower, but my wife takes the other ford to work so we really can’t use that one for testing! Now what do we do?

Basic Performance assumptions

So there are some simple rules that you should apply to any performance problem:


  1. The performance should be documented and repeatable.
  2. More than one test should be run, and simple is usually more realistic.
  3. Tests should be standardized, down to a science, so that if applied to another matching scenario, you would expect similar results.
  4. Keep the time down to a short test. The longer the test, the more variables can be introduced.
  5. Do not focus on two separate car models not functioning the same, find a way to introduce a baseline into what a reasonable car will perform like. Then prove or disprove your baseline.


Now obviously, the complexity of computers can result in more rules, but if you follow these basics, you can at least find some sanity in your test results. In fact Support has an absolute need, that this happens. It is very possible, nothing is really, wrong, if we don’t get down to brass tacks.

So real world

Call into support and report when you run this command on one machine, things are fine. When you run on the other environment, things failed. This is the Disk Speed command. This is the replacement for SQLIO. I really like this tool.


  • diskspd –b8K –d30 –o4 –t8 –h –r –w25 –L –Z1G –c20G  D:\iotest.dat > DiskSpeedResults.txt


However, what is hiding in this statement, violates all the 5 rules above. This is an assertion, based on one command. Furthermore, you ran this command, in the test location,  over and over, while other VMS are also running, randomly, creating a random pattern of storage fragmentation, while the Production environment was only one once, in a very controlled situation. These commands were not run in a scientific fashion.

It literally took me a days to think of a way to baseline this situation and to  test this correctly. This is where the 5 rules came from. I think they are solid rules for support to go by. So here is how you test to make your case to Support:

User Guide and Product here

Introduce a Baseline. Anything is better then nothing

The Above diskspd command is complex and long. Come up with some simple tests and run more of them, over time. Second, test your commands, on a laptop, or desktop, with a specific Ram, Storage, and Processor Profile. Once you record all the results on the client machine, duplicate the test in the Virtual Machine. Make sure it’s the only Virtual Machine Running. Make sure nothing is running on the Host but this one VM, with specific resources.

Now below I am not giving you results. I am just giving you the commands, Along with some Instructions on how to use DSKSPD. I am also leaving you with Articles that VMware and Microsoft Hyper-V use, when asking for baseline testing. Notice, how many little requirements they have Seem familiar? There is a reason for this! We are all trying to be scientific.

Tests to establish a Baseline.

  • .\diskspd -c100M -d20 c:\test1 d:\test2
  • .\diskspd -c2G -b4K -F8 -r -o32 -W30 -d30 -Sh d:\testfile.dat
  • .\diskspd -t1 -o1 -s8k -b8k -Sh -w100 -g80 c:\test1.dat d:\test2.dat
  • .\diskspd.exe -c5G -d60 -r -w90 -t8 -o8 -b8K -h -L
  • .\diskspd.exe -c10G -d10 -r -w0 -t8 -o8 -b8K -h -L d:\testfile.dat
  • .\scriptname.ps1
  • Same as above- second location
  • .\Diskspd -b8k -d30 -Sh  -o8 -t8  -w20 -c2G d:\iotest.dat


This list will generate about 15 unique results. Any of these will run on a laptop or a server. Just make sure you read the text character decoder sheet available with the product.

So the instructions are very simple. The specs on the Hyper-V or VMware VM, must be the same as the laptop. My laptop has 16GB of ram, and 8 Processors.

The VM must be the only one running, and the OS should be a fresh Install. Now if the results of testing are in the ballpark of your comparison Client, then you are not having a performance issue.

The moral of the story is test from different perspectives, and use the Scientific method, as much as you are able to.

I hope this is helpful in your troubleshooting.


A few other Details

Here is a way to manually pre-create the files if disired

  • fsutil file createnew d:\iotest.dat 20000000
  • fsutil file createnew d:\iotest.dat 2000000000
  • fsutil file createnew d:\iotest.dat 20000000000

Here is all of the best articles on storage, and IO online right now. I was surprised that so many of  Storage Performance Needs are all in one place.

This could be an important point. If you came to this site because your numbers are not matching reality, your Monitoring tools, may not be collecting the right perfmon numbers, then you may need the Hyper-V performance script to use to see your actual VM numbers. try using this tool Run this tool on the host, while using diskspd on your VM.

DO not run more then one instance of Diskspd at once!! This will invalidate your tests!


Finally, as promised, here is how  VMware or Microsoft  handle these issues:



Microsoft Licensing Issues may Require a Tool Called MGADiag or the Web Version of Genuine Microsoft Advantage!

Good day,


A friend of mine hit me up looking for an application called MGADiag. Wow what an old tool!! But yes, I still have a copy.

I sent it to him. After review, I decided not to include a copy to this article. I did post a link to it, but i want to let people know

they should really look a the new web based tool.(Here) The new tool does not do the same thing, at first glance. but on further review, the

web page relies on a plugin, which seemingly collects similar information.

We don’t have much choice on newer Systems. Just look at figure 1. MGADIAG doesn’t work too well with Windows 10.  Other tabs have worse errors, but some tabs work OK.  .


Figure 1.

Reason for most failures

Hey, In its time, this was a great tool. It collected a lot of the licensing information, all in a few tabs. Great for Windows XP and maybe Vista and Windows 7. Beyond that, let the caveat emptor!

It looks like MGADiag was retired for a reason. So my evaluation of MGADiag in 2017 is its in need of a re-vamp

Well the revamp is basically this article and the web tool. here.

Basically there is a 90% chance your activation issue is captured in this simple document ( here). Did you activate the key from this server already? One License equals one machine. These are basic Tenants, that will tell you if you are genuine or not.

So My Licensing is really Broke

If everything checks out against the article, then go ahead and check licensing with the Genuine Advantage Web tool. If that checks out, then you can check with MS.

What to do about Activation (MS)

If you end up with MS, Microsoft, where you are not in the wrong, you should use standard procedures to get activation and license issues fixed.  So lets get that out of the way.

So you can just do the right thing. Just go to a command line and type  SLUI 3 or SLUI 4. This is command line activation and Voice Activation. When the Voice Activation answers the phone, you will be made to explain why you think your license is genuine. This may require a supervisor. Only the supervisors apparently have the information to make a determination, or perhaps, only the supervisors have the ability to fix a wrong determination in their job description.

So here is the thing. Microsoft can see all license keys. they can see if they are activated. So your story needs to explain why a license would be activated in their system. If your story makes sense, and you don’t mind a deactivation to activate your machine, or multiple activation’s are justified for the key you are using, they will generally make good on your license. .

To conclude, we have MGADiag, Genuine Advantage website, and we have SLUI as tools we can use to work on licensing issues.

But Be careful! MGADiag is no longer a public MS download

For example, look at this link, its wrapped in another application completely! Beware!

Here is the Newer tool, in all its glory:


and Finally, Another Blog example of the basic activation steps as they have not changed much over the years


Louis Reeves

Windows Performance Recorder, Xperf123 and CLUE all collect ETW traces for use with Windows Performance analyzer!

Good Evening.

I wanted to make a quick article for those Support cases where I need to perform an analysis on the issue, in a way that will allow me to see the Data Set in the most Creative way possible.

I do think you will prefer the Graphical Interface method of doing this , but  the site where it is hosted is going to close down at some point. So I will be attaching a link to the download, in case it becomes a lost web site.

Actually there are a couple of tools we should be aware of. So this article is about Ways to Use Xperf to collect logs for support evaluations.  Specifically, I am calling out three ways; the command line, The Core Windows Recorder, and two additional tools.


So all of these tools will require xperf to be installed. this is part of the Windows performance tool kit. this also contains windows performance recorder and analyzer. The truth is you can just run the windows performance recorder, and this will achieve the objective of this article. But, you cant just let the recorder run, in perpetuity. There is a hit to the system for running it, and it will eventually fill up your hard drive.

Not that these other tools have methods which are any better. The main thing you need to know, is  you must monitor resources and know when to start and stop these tools your self. They can be dangerous if not used by an IT person with experience. The bottom line is use caution!


Command Line

For the command line options, I am just going to show you how to start,stop and obtain the log (ETW) file. You will then return the file to the support department, and they can give you an analysis.

Some example of commands which will result in a file you can give to your support team:

  • Start Trace
    • Xperf –on DiagEasy
    • Xperf –providers KG
  • Stop trace (and generate ETW)
    • Xperf –d trace.etl
  • display trace
    • Xperf trace.etl

Well That was easy wasn’t it? Well the rest of this is not too much harder. This is some complex stuff, but we want to make it easy to collect if possible. So the next tool on the block is the Windows Performance Recorder. I will not even spend any article time on this. This is the simple Next Next Finish windows method. You can do some searching on the internet if you need a few screen shots.

Now to the meat of the show. Two Tools I think you may find helpful. XPerf123 and the Clue tool. Clue is Collection of logs and the User Experience. Xperf123 is at codeplex, but they say codeplex is closing. I will not include links to their site. I will have a copy of the tool in this article. Xperf123 Download

So we are starting with XPERF 123. This is the tool on CodePlex. Download it here- Xperf123 Download

So this tool will let you form the syntax of a shell command to start and stop a log collection. It allows for all the variables you would ant like circular logging etc..

The basic article that was on the codeplex sight is below, for your convenience. This is in case the codeplex data is gone from the internet:


Project Description
This tool is used to automate the process of collecting xperf traces easy without the user worring about the various settings and configuration options.

The tool does not package XPerf.exe, perfctrl.dll, xbootmgr.exe, xbootmgrSleep.exe or xperfview.exe. Please download the Windows Performance Toolkit separately from and then run this tool from the same location as the files.

Why this tool?
Collecting ETW traces was never this easy. With this new utility, xperf/xbootmgr logs can be collected without breaking a sweat. Just a few clicks and the required data gets collected. You no longer need to enter complicated commands to collect the data. Just select the kind of data/monitoring you desire and XPerf123 is going to get that data for you just like 1 – 2 – 3.
It also creates a simultaneous perfmon running at 5 seconds interval.

System Requirements
.NET Framework 3.0
Administrator rights on the machine.
Windows 2003/Windows Vista/Windows 7/Windows Server 2008/Windows 2008R2.

So how do I use it????
1. Follow the wizard interface of the tool.
2. From the drop down menu, select the kind of trace you want to capture.
3. Click on Start button.
4. Reproduce the issue.
5. Click on Stop button.
6. The file is will be created in the same location as the XPerf123.exe

Main features
– In Normal mode, the default paramaters for BufferSize, MinBuffers and MaxBuffers is 1024.
– It can be customized for advanced settings.
– There is option to have log the trace file in circular mode which is enabled by default. If required, it can be unchecked.
– Logs are created in the same directory by default.
– We can also save the logs to a different location then from the location where we run it from.
– It also creates a perfmon counter and starts it when we start the xperf capture.
– If Perfmon was also collected, the Perfmon logs are located in the C:\PerfLogs\ directory with the name perflognnnnnn.blg
– If we select stack walk, then the default stack walks for the respective traces will be enabled unless the user manually selects the stackwalk parameters. This is benifical for someone who wants to do stack tracing but doesn’t know what all the options to select for stack walk.
– The creation of the registry and the reboot prompts for stack walks have been automated. In the next build, I will try to log that information as well to the log file so that we know what registries were modified or created.
– Advanced options in the xbootmgr parameters to set the Buffer Options and the Enable Property .
– The Pool Trace will only work if we are using a version of xperf that supports the feature.

What do I need to get started
We need to have all the files in the same directory as xperf123.exe –

Unless necessary, the General option should be able to get all the required information.
The program is designed to auto elevate, but if not getting the required results, please try running it as an administrator.
For reviewing XPerf logs, we need the xperfview.exe.

Starting up the Xperf123.exe

Select the kind of data collection you need

Enable Perfmon logging ( If you want )

And we are done. Click Start to start the capture

Now we have one tool left. This is the newest I have seen. This tool will collect logs when there is a problem on the system. This could be a good tool to use under some circumstances.
This tool is the CLUE tool:

Clue stands for Collection of Logs and the User Experience. This tool is an automated way to collect the logs only when the issue is occurring. This is helpful, because the log collection itself can be part of a slowness or latency problem


Requirements for this tool:


  1. Download tool from –
  2. Download and Install the Windows Performance Toolkit (WPT)
  3. Toolkit can be installed during setup. See the Clue Usage Guide.docx
  4. Right Click and choose properties of zip file. Choose unblock
  5. Unzip to long term location
  6. Run the Setup.bat file with Admin Rights


All features of the application will run out of C:\ProgramData\Clue  directory. If you need to run in a different directory, then change the config.xml file.

Output files will be located at \Microsoft\Windows\Clue\IncidentFolderManagement , again unless you specify otherwise in the config.xml file.

The bottom line is there are two things you want to check out. One is the scheduled Tasks, that start with CLUE_. Make sure they meet your needs as to when to collect data, and for how long.

Second is the config.xml file. You can set many things before the install, that saves you from making multiple changes after the install.

Below is what you will see in the scheduled tasks in Windows;

You will then see inside the CLUE folder, the tasks that you can change to meet your needs:
This is a great tool, in that you have some control over when and why the log collection runs. It can even survive a reboot. So this is a great tool, when
you dont know when the problem is going to occur.
To conclude, I have presented 4 ways you may get an ETL log collected and ready to send to your support person. If you have any issues, Call your support team and they should be able to help you out with it.
Windows Performance Recorder, Xperf, Xperf123, and Clue all try to do the same thing. However, it is our way of having many ways that makes us a great county!! Well Maybe a Great world, because I am certain the players in these tools are quite diverse. Indeed Hail Diversity! and Hail Molvania!

Deploy Remote Desktop Services in a Workgroup or Domain Easily!


For all you Terminal Server or Remote Desktop Services or RDP Geeks out there, Let me spend a minute to clarify a call driver that continues to be popular.

The Scenario is deploying Remote Desktop Services in a work group. Call this a corner case, or call it what you will. The reason this is a popular support call is due to the fact that there are two articles needed to complete the setup.

Oh sure Microsoft does tell you to add a policy after your setup, but they specify you use GPEDIT. not much help there… Until Today!

First you need to Deploy the roles correctly. The Specific KB I chose for this article, is the one you would use for the simplest setup. One that keeps you clear of very common mis-steps of walking through the setup in the Server Manager. If you did your deployment correctly, you didn’t even need Server Manager.

So begin by reading this:

Guidelines for installing the Remote Desktop Session Host role service on a computer running Windows Server 2012 without the Remote Desktop Connection Broker role service

“”RD Session Host without the Connection Broker

To be clear about this deployment:

  • No Domain Controller
  • No Hyper-V
  • Install Remote Desktop Services.
  • You won’t get to select more until the end. You may install the following
      1. Remote Desktop Licensing and
      2. Remote Desktop Session Host
      3. RDWEB
      4. RD Gateway
  • For a workgroup you do not have to add the Terminal Server to the Terminal Server License server group. Why? With No DC, you don’t have to report to anyone.
  • Activate the Terminal Server using one of the three methods.. This is most common
  • Activate your RD Cal Licenses with KB2833839 or cc725890

So Far, so good. Now this is where we start to diverge from some existing Documentation

  • If you are in a workgroup, go to “edit local users and groups”
  • Find the group folder and create a group for your RDP users and add your users to this group.
  • Alternatively, you may add your users to the RDP users group already there
  • Remember the group you are using. It becomes important
  • Now you are going to edit the Local Policy by doing the following:
      1. Start and Run GPEDIT.MSC
      2. Navigate to the following:

Local Computer Policy ->Computer Configuration-> Administrative Templates-> Windows Components-> Remote Desktop Services-> Remote Desktop Session Host-> Licensing

Figure 1. GPEDIT.MSCUntitled

You are going to see now, the two LSO (Local Security Object) you will be enabling.

Use the Specified Remote Desktop License Servers –Value- IP address of RD License Server.

Set the Remote Desktop Licensing Mode- Value – 2 or 4. 2 is for Device CAL and 4 is user Cal.

Figure 2. Local Policy. Untitled

Now there is another Policy to set. For this, you want to just go back to the top. Start out at Local Security policy like before (GPEDIT.MSC).See figure 3.


Figure 3 GPEDIT.MSCimage


Expand Computer –>Configuration,–> expand Windows Settings, –> expand Security Settings,–> expand Local Policies and then click User Rights Assignment.




Enable this policy and add the group you used earlier. It is highlighted in this article above. Add this group to this policy. In addition, add the Remote Desktop Users group to this policy if desired. Don’t and your administrator name here. The Admin already has access. If you ad your admin name, it will lock you out. So best to to stick to adding the Remote Desktop users group.



Notice it says administrators (Plural), that is fine, but the single administrator should not be in this list. there is a well known break here if you do that.  When you are finished, you just need to add the users you want to give access to, to the group we just added to the Policy (likely the remote desktop users group)

Step 8 comes right out of the KB2833839

  • Open an elevated Windows PowerShell prompt
  • Type the following command on the PS prompt and press Enter:
    $obj = gwmi -namespace “Root/CIMV2/TerminalServices” Win32_TerminalServiceSetting
  • Run the following command to set the licensing mode:
    Note: Value = 2 for Per device, Value = 4 for Per User
  • Run the following command to replace the machine name with License Server:
  • Run the following command to verify the settings that are configured using above mentioned steps:
    You should see the server name in the output.

You have now covered all your bases, and  your RDP should be happy!! It will be happy because you paid attention to all the rights things!

Now I did find an interesting article to which I cant really comment on. However, it is an interesting article. IT deals with some issues, you could run across.

Well That is it. I hope this has been helpful for workgroups or non-work groups. this basically  can be set up on either.

Getting Accurate Latency from Dynamically expanding Hyper-V virtual Machine Disks


This Article is about the tool called Hyper-V Performance Monitor Tool (PowerShell)

you can download it from the tech net article down the page, or use the link above.

So Hyper-V gets thrown around loosely these days, when you talk about Virtualization or Performance Tuning, or Planning or any other aspect of the product life-cycle of a new Host Deployment.

Over the last few years, we have made rapid changes from Physical Host Machines for production work loads, to these Virtual monstrosities, that now host our whole company.

Along with this change, you may recall that Early Hyper-V documentation has gently let us know that monitoring inside the Virtual Machine was not going to give us the parity results to the Physical counters, depending on configuration.  This is for a few reasons, which are beyond this articles scope. However, I would like to shine light on this, so more people can think differently about their Virtual performance.

The most common measure of how well a server is performing is Latency in Milliseconds. Every one is most concerned with how much latency is in the storage system. Perhaps with good reason. The San storage vendors can perform so fast now days, that you can throw the empire state building at a server, and the Latency is less then 10 Milliseconds (MS). Or is it throughput?

To be clear, we are interested more in Latency then throughput. Latency should be minimized, and throughput will generally increase.

Can I make a case that Counters are not reliable?

Well let me tell your actual Latency is not as easily attained as you would think. If I told you that your tests are lying to you, would you believe me? Lets say your in shock. Without knowing your design, my generalized answer has a very high chance of being correct.  The issue is that you have a SAN and you are tying to get latency by measuring responses to a file, that go though 4 different filters, and then has to wait until it gets queued to a disk subsystem, that is always expanding. I promise you; your numbers are incorrect.

If you cannot quantify how latency and throughput are different, but related, then I would say you should not stop reading.

Storage Latency of VM guests

There are many problems with calculating storage latency, but disk is the model we are going to use to illustrate how tricky it can be to find out how your VM is performing.

The most common approach to gaining latency information is to use a command line tool. Normally the tool will work fine. The model breaks down when the Disk itself is changing, along with the Ram and processor availability. The bottom line is a Virtual machine may lie to you about resource numbers at any given time.  Add to the mix, that the clock cycle is a weakness in any virtualization platform. That means that the calculation of time itself can result In poor results based on good math with bad numbers.

There are a crowd of you who say that is bull. Well all I can say is; don’t read this and good luck solving your latency issues.

Let me try to list some areas where the numbers may go awry. I am just making a one line explanation with a link, so you can read more. I don’t want this to be about the problems. Below, I talk more about the solution. Read more if you have a specific issue:


I could keep going. Do you get the feeling there are a ton of variables that change how storage latencies should be calculated?

From my experience, I have found that every set of servers are their own data set of network behavior. There are some basic assumptions I found to pass along to Admins who want to find out latency of Virtual machines.

Guidelines for VM latency Study

Who to Blame

So again, the basic message is that the calculation of latencies is totally based on the sum of the deployment factors. In one data center you may find under reporting, and the other Over Reporting. Support agents do not have the Onus to prove why one is slower then the other. We will have to look at your Design and deploy and try to make a story of things we can identify. it is not likely we will find that moment where the Deployment deviated from your Baseline storage latency measurements. We offer Best effort, but encourage you to strip down your deployment to make a core Baseline latency for a Dynamically expanding VM. All Vms will compare to that one. We go from there.

Using the Stop Gap solutions for Monitoring Virtual Machines

SO it was just a few years ago, this issue with VM monitoring was not easily remedied. You could certainly use the Perfmon counters to get VM stats. But Customers just want to run Disk Speed or SQLIO, and get an output to look at. This did not exist for quite some time. Thankfully there is a script out there, that will now carve out some parity to those tools. the link is at the TechNet Gallery:


Hyper-V Performance Monitor Tool (PowerShell)

Below is the walk through of the basic performance collection.

you Just run the Script from an Admin PowerShell. There are a few ways to run it:


### export data to csv via GUI, defaults to current dir
.\Monitor-HyperVGuestPerformance.ps1 -ExportToCsv

### retrieve data as PSobjects, great for parsing and logging, -name parameter is optional, defaults to automatic discovery
.\Monitor-HyperVGuestPerformance.ps1 -PSobjects

### specify host and interval/samples manually
.\Monitor-HyperVGuestPerformance.ps1  -Name host1,host2 -PSobjects -Interval 2 -MaxSamples 5
### accepts pipeline input
| .\Monitor-HyperVGuestPerformance.ps1 -PSobjects

### Log to SQL server with Write-ObjectToSQL , this example uses SQL auth
.\Monitor-HyperVGuestPerformance.ps1 –PSobjects  |  Write-ObjectToSQL –TableName table –Database db -Server server –credential (get-credential)



If the domain connection fails, it tries for a Local connection:



In my case, I ran the tool on the Host, and this GUI below popped up. All I did was hit monitor, and I got an export vm_perfmon_stats file. This file can be used to find your latency.


While this method may not be pretty, It does follow the rules for Hyper-V guest. The main purpose for this tool would be to use instead of SQLIO or DISK SPEED. tools like these should be used for hardware testing. A Hyper-V Server, running on ISCSI shared storage, with two VHDX files attached, is likely going to come back with Erroneous Latencies. This may not be perfect, but I do believe you will see a consistent result that is not a totally unbelievable number.

See I changed the Sample and interval:


And I get a time-frame to wait for the test results:


Find the Link at the Microsoft TechNet Center. Thank you for taking the time to Read about Storage Performance for Hyper-V virtual Machines

I hope this helps in your Baseline Studies.

The result is a nice little Excel Display of the data, that I cleaned up a little with colors, to the Excel Fields.




How to activate a license server and install CALs


This is the 3rd article in a series of articles on RDS (Remote Desktop Services)  In this installment I will cover how to activate a license server and installing RDS CALs (Client Access Licenses)

To activate the license server:

  1. Open the RD Licensing Manager.  (Right-click Stat button, Run, licmgr.exe)
  2. Expand All servers.
  3. Right-click the server name and choose Activate Server.
    Activate Server1
  4. Click Next on the Welcome screen.
  5. Click Next on the Connection Method screen.
  6. Enter the company information.  This should match the information given when the RDS CALs were purchased.  Click Next when complete.
  7. This screen is optional.  You can enter the information if you choose.  Click Next when complete.
  8. The Completing the Activate Server Wizard screen should come up and indicate the server was activated successfully.  If the CALs are available to install, Click Next.  Otherwise uncheck the “Start Install Licenses Wizard now” option and click Finish.

To Install RDS…

View original post 139 more words

Using Jperf Graphical Interface for Iperf, for basic network testing and Diskspeed or Dskspeed for storage testing.


Late night yawl.

Its 11:52 PM on 3/28/2017. It has been pouring in Edmond for a few hours now. For some reason I am not sleepy yet. I thought I would spend a few minutes putting together how to use a tool I was interest in.

Jperf is a script that runs on windows, and takes the place of IPERF.This little GUI should do most of the things you need, from a two windows machines. If you want to do it on Linux, then you can just use the Iperf command line.

Half the battle for Jperf is just finding the Bits. They are located here:

JPERF Download

There is also a copy of DiskSPeed or DSKSPEED.

The concept of running Jperf is simple:

  • Java must be running on both machines
  • Unzip the Jperf Folder to the Desktop
  • Use PowerShell 5 to run the Batch file on both machines
  • The server just sends data to the test subject, so to start the server, you just select the Server Radio button and hit Run IPERF in the upper right hand corner.
  • This will look like this:




and to run the script, all you had to do was run a batch file called Jperf.bat:



Now after starting the Jperf on the Server machine, you simply run the same batch file, on the machine that is going to be the client. Choose the client radio button, the Server Port, and Server IP. You have other choices, but you can test various packet configurations after you have showed that the two applications are doing the basic monitoring succeeding.


SO now that you have both GUIs up, chose run IPERF on the server, then on the client. you should see some graphing immediately.


The tool is nice to just show how the network is working between two points, with various network conditions, that you can control.

If you look at the enclosed User Guide, you will find where it calls out a baseline number you can use for making comparisons  the average file transfer size and the time for that average transfer, in the last line of the test is what I am talking about (see figure below)

These numbers you want to take note of. you can use this as your baseline, to compare other situations or other iterations of the test.


That’s IT!

Good luck and I hope this helps to explain how you can use IPERF with a basic GUI and provide good troubleshooting  information The tool is called Jperf and It uses Iperf. Its all in the download folder.

Next Time

Watch out next time when I will review the replacement for SQLIO. The tool is called DSKSPD or Disk Speed. We will talk about how  “dsksped test not valid for hyper-v virtual machine storage” Hyper-v performance is not as easy as just using Disk SPeed

MS even states that Dynamically expanding disks should not be used for production. That is also where counters start to come back with irrational results.

Here is something to read on Hyper-v Storage optimization, until I have time to write the next article