Microsoft Power Bi – Add image, text, video, and more to your dashboard

Add tile

The Add tile control lets you directly add an image, text box, video, streaming data, or web code to your dashboard.

  1. Select Add tile from the top menu bar. Depending on space limitations, you may see only the plus  sign.

  2. Select which type of tile to add: ImageText boxVideoWeb content, or Custom streaming data.

Add an image

Say you want your company logo on your dashboard, or some other image. You’ll need to save the image file online and link to it. Make sure special credentials aren’t required to access the image file. For example, OneDrive and SharePoint require authentication, so images stored there can’t be added to a dashboard this way.

  1. Select Image > Next.

  2. Add image information to the Tile details pane.

    • to display a title above the image, select Display title and subtitle and type a title and/or subtitle.
    • enter the image URL
    • to make the tile a hyperlink, select Set custom link and enter the URL. When colleagues click this image or title, they’ll be taken to this URL.
    • Select Apply. On the dashboard, resize and move the image as needed.

Add a text box or dashboard heading

  1. Select Text box > Next.

    NOTE: To add a dashboard heading, type your heading in the text box and increase the font.

  2. Format the text box:

    • to display a title above the text box, select Display title and subtitle and type a title and/or subtitle.
    • enter and format content for the text box.
    • Optionally, set a custom link for the title. However, in this example we’ve added hyperlinks within the text box itself, so leave Set custom link unchecked.
  3. Select Apply. On the dashboard, resize and move the text box as needed.

Add a video

When you add a YouTube or Vimeo video tile to your dashboard, the video plays right on your dashboard.

  1. Select Video > Next.

  2. Add video information to the Tile details pane.

    • to display a title and subtitle at the top of the video tile, select Display title and subtitle and type a title and/or subtitle. In this example, we’ll add a subtitle and then turn it into a hyperlink back to the entire playlist on YouTube.
    • enter the URL for the video
    • Add a hyperlink for the title and subtitle. Perhaps after your colleagues watch the embedded video you’d like them to view the entire playlist on YouTube — add a link to your playlist here.
    • Select Apply. On the dashboard, resize and move the video tile as needed.

  3. Select the video tile to play the video.

  4. Select the subtitle to visit the playlist on YouTube.

Add streaming data

Add web content

Paste or type in any HTML content. Power BI adds it, as a tile, to your dashboard. Enter the embed code by hand or copy/paste from sites such as Twitter, YouTube, embed.ly, and more.

  1. Select Web content > Next.

  2. Add information to the Add web content tile pane.

    • to display a title above the tile, select Display title and subtitle and type a title and/or subtitle.
    • enter the embed code. In this example we’re copying and pasting a Twitter feed.
    • Select Apply. On the dashboard, resize and move the web content tile as needed.

Tips for embedding web content

  • For iframes, use a secure source. If you enter your iframe embed code and get a blank tile, check to see if you’re using http for the iframe source. If so, change it to https.
  https://xyz.com

If you’d like the player to resize to fit the tile size, set width and height to 100%.

  
  • This code embeds a tweet and retains, as separate links on the dashboard, links for the AFK podcast, @GuyInACube’s Twitter pageFollow#analyticsreplyretweet, and like. Selecting the tile itself takes you to the podcast on Twitter.
  <blockquote class="twitter-tweet" data-partner="tweetdeck">
  <p lang="en" dir="ltr">Listen to
  <a href="https://twitter.com/GuyInACube">@GuyInACube</a> talk to
  us about making videos about Microsoft Business Intelligence
  platform
  <a href="https://t.co/TmRgalz7tv">https://t.co/TmRgalz7tv </a>
  <a href="https://twitter.com/hashtag/analytics?src=hash">
  #analytics</a></p>&mdash; AFTK Podcast (@aftkpodcast) <a
  href="https://twitter.com/aftkpodcast/status/693465456531771392">
  January 30, 2016</a></blockquote> //platform.twitter.com/widgets.js

Edit a tile

To make changes to a tile…

  1. Hover over the top right corner of the tile and select the ellipses.

  2. Select the edit icon to re-open the Tile details pane and make changes.

Considerations and troubleshooting

  • To make it easier to move the tile on your dashboard, add a title and/or subtitle.

  • If you’d like to embed some content from a website, but the website doesn’t give you embed code to copy and paste, check out embed.ly for help generating the embed code.

Source: https://powerbi.microsoft.com/en-us/documentation/powerbi-service-add-a-widget-to-a-dashboard/

Advertisements

Tail a Log File on Windows & Linux

It turns out there are a bunch of people on StackOverflow looking for ways to tail a log file, but there don’t appear to be many resources for all the different tips and tools to do this. If you’re a Java or .NET developer, just getting started with tailing log files, or a seasoned developer who needs something quick and easy to set up and go, there are several options. In fact, there may be too many.

Check out some tools I found that make tailing a log file a walk in the park. Tailing multiple log files? Want to tail logs remotely from a web browser? This list covers a whole array of needs.

 

The Standard Linux Tail Command

The de facto standard for linux systems is the ever-handy “tail” command. Need I say more?

$ tail -f /var/log/syslog -f /var/log/myLog.log

  • Quick and easy
  • No additional installation required
  • Can be used with multiple –f filenames in the same window as shown in the script example above
  • Unix only. See Tail for Win32 at the bottom of this post for a port to Windows.

less -F

Less +F

Brian Storti (@brianstorti) offers an alternative method to the standard tail -f: less +F, which causes similar behavior as tail -f but allows for easily switching between navigation and watching mode. However, he notes that if you need to watch multiple files simultaneously, the standard tail -f offers better output.

  • Easy to use
  • Creates behavior comparable to tail -f
  • Allows for easy switching between navigation and watching mode
  • Not ideal for watching multiple files simultaneously

 

Windows Powershell

Windows Powershell

Powershell is one of the most overlooked windows apps for ops. This approach doesn’t have any extra features but can be perfect for opening a quick commandlet window and keeping an eye on the status of a file.

Use the following simple syntax to show the tail end of a log file in real-time.

Get-Content myTestLog.log –Wait

You can also filter the log right at the command line using regular expressions:

Get-Content myTestLog.log -wait | where { $_ -match “WARNING” }

  • Quick and easy to get going
  • Practically zero learning curve
  • No additional installation necessary for newer windows machines
  • Requires Windows Powershell (duh!)
  • Slow for large files
  • Basic functionality but some 3rd party extensions are available. For example, you need multiple cmdlet windows to monitor multiple files
  • How-To Geek provides a step-by-step tutorial for getting tail-like functionality with Powershell that you may find useful.

 

Stackify Tail a Log

Stackify’s Retrace

Retrace is an APM tool that provides all the support you need to monitor and optimize your applications, including enhanced log management which fully indexes and tags your logs.  Retrace also tails log files in real-time.

  • Remotely tail log files via web browser
  • Search all log files, including iis logs
  • See how log files are trending and monitor specific logs
  • Supported for Windows & Linux systems
  • Free trial, low monthly cost

 

 

 

Vim log file tailing

Vim (Using Tail Bundle Plugin)

Developed by Martin Krischik (@martin_krischik), this handy-dandy plugin for Vim allows you to use “the best tail plugin you can get.”

  • Vim die-hards can tail log files without ever leaving their favorite editor!
  • Multiple file tailing using tabs
  • “Preview” window updated according to your Vim usage
  • Read the open issues on the Google Code page before installing
  • Check out Krischik’s other projects here

Emacs

Emacs

To tail a file in Emacs (@emacs): start Emacs, hit M-x (Alt and x keys together), and type “tail-file”. Then, enter the filename to tail. The net result is that this will spawn an external tail -f process. Emacs is much more than a tool for tailing log files, however; it’s packed with other features and functionality ranging from project planning tools to debugging, a mail and news reader, calendar, and more.

  • Customizable using Emacs Lisp code or a graphical interface
  • Packaging system for downloading and installing extensions
  • Unicode support for nearly all human scripts
  • Built-in documentation
  • Tutorial for new users
  • Content-aware editing modes including syntax highlighting

 

Multitail for UNIX log files

MultiTail

Developed by Folkert van Heusden (@flok99), MultiTail was inspired by wtail, which was written by André Majorel. This is one of the more complete UNIX offerings, in my humble opinion. It’s a relatively newer tool compared to some others on this list, with a stable version released in February 2015.

  • Uses wildcard matching to see if a more recently spawned logfile needs to be monitored
  • Uses regular expressions for filtering
  • Source code available in public Github repository
  • All major UNIX platforms supported

 

BareTail log tailing for Windows

BareTail

Developed by Bare Metal Software, BareTail is a free tool for monitoring log files in real-time. The “Bare” in the name might prompt some to ask, “How can you get any barer than regular Tail?” It turns out the name is a carryover from the software development group that built it, and this tool provides a color-coded GUI above and beyond good ‘ole Unix Tail.

  • Developed for Windows
  • Monitors multiple files using tabs
  • Configurable highlighting
  • Allows instant scrolling to any point in the file, even for large files
  • Free version available; a registered license is $25. There’s also a BareTailPro, which is packed with even more features and offers a free demo.

LogTail

LogTail

Developed by John Walker of Fourmilab (@Fourmilab), this tool doesn’t appear to have been supported in a long time (the website is dated 1997) and may not play well with the latest distros of Unix. You have been warned.

  • Allows you to monitor multiple log files on multiple servers at once
  • Automatically checks if the monitored process has spawned a fresh log file and adjusts monitoring accordingly
  • Old script (circa 1997) may not play well with newer Unix distros/Perl patches (built withi Perl 4.0, patch level 36)
  • UNIX only

 

TraceTool error logging

TraceTool

Developed by Thierry Parent, TraceTool is a great option for .NET developers needing to build their own log tailing feature. The code comes with a lot of power and features, but it might not be as good a choice if you simply want to run a quick program and be off on your merry way. You can also check it out on SourceForge.

  • Powerful tool with lots of customizability via code.
  • There is a learning curve, depending on how far you want to take TraceTool. Check out the “TraceTool Overview” screenshot on the CodeProject page and you’ll see what I mean.
  • Not a quick fix. If you simply want to open a quick executable and see the tail of a few log files, pick something else. This will take you some time to set up and get configured.
  • With great power comes great responsibility. The CodeProject discussion section has comments from users experiencing several different kinds of problems. Yet despite any problems users have, they consistently ranked the page highly, with an average vote of 4.97 at the time of this writing.
  • Source code is readily available for download, but you’ll need a .NET development environment setup to compile it.
  • Windows only.

 

SnakeTail

SnakeTail.net

SnakeTail.net is developed by SnakeNest. Looks can be deceiving – I thought this Google Project was long dead but was pleasantly surprised that bugs are still being fixed and features added as recently as September 2016.

  • Low memory & CPU footprint even with large files
  • Customizable shortcut keys to jump around files quickly
  • Can tail a log directory where the latest log files are stored
  • Windows only

 

image_thumb

Notepad++

Hardcore fans of Notepad++ (@Notepad_plus) often like to work in it all day, every day. Now you can tail a log file in Windows without ever leaving Notepad++ by using the Document Monitor plugin (granted – hardcore fans probably already know all about this!):

  1. Open Notepad++ then from the top menu select “Plugins > Plugin Manager > Show Plugin Manager,” then check the option for “Document Monitor,” then click “Install.”
  2. Notepad++ will prompt you to restart the program (not restart your computer).
  3. Upon opening Notepad++ again, select “Plugins” and you should now see the “Document Monitor > Start to monitor” option. This will refresh the view of your document automatically every 3 seconds.

 

image_thumb_11

inotail

Developed by Tobias Klauser (@t_klauser), inotail is a basic tool with minimal options compared to the others on this list. But for those of you yearning for simplicity, this just might be the log tail tool you’re looking for. The most recent update, however, is from back in 2009, and the most recent version, inotail 0.5, was released in 2007.

  • Git and GitHub repos available
  • Uses the inotify API to determine if a file needs to be reread

 

tail windows log files

Tail for Win32

Developed by Paul Perkins, Tail for Win32 is a Windows version of the UNIX ‘tail’ command, providing a quick and dirty way to use the Unix Tail command you’re used to on Windows systems. Many folks might consider this completely unnecessary on a windows system with the prevalence of Powershell these days, but it does provide a couple nice features you wouldn’t otherwise have:

  • Highlighted keyword matching
  • Can send email notifications via SMTP or MAPI when keywords are found
  • The ability to watch multiple files in real-time simultaneously
  • Can process files of any size on both local and networked drives
  • Download Tail for Win32 on SourceForge

 

JLogTailer

JLogTailer

JLogTailer is a Java log tailer with regular expression features that makes it possible to view any log file entries in real-time. It’s an easy-to-use tool that’s helpful when you need to see what’s going into the end of your log files as it happens while you tinker with your code. Additionally, you can use JLogTailer to tail multiple log files if needed.

  • View log entries in real-time
  • Simple to use
  • Works for tailing multiple log files

WebTail

WebTail

With so many programs generating log files, other tools are useful when you have direct access to the file system that stores each log. But what if you don’t have direct access to your log file? That’s where WebTail comes in, enabling you to tail any log file that can be viewed via a web server. In addition to allowing you to view entries the moment they’re appended to log files, WebTail requires less bandwidth than you’d otherwise use to download the entire file several times.

  • Useful for tailing log files stored on web servers
  • Save bandwidth by eliminating the need to download complete files multiple times
  • Tail any log file viewable via a web server

MakeLogic

MakeLogic Tail

An advanced tail -f command with GUI, MakeLogic Tail is the tail for Windows. It can be used to monitor the log files of various servers and comes with a variety of other intuitive and useful features.

  • Shows the last several lines of growing log files
  • Real-time monitoring
  • Requires JRE 5.0
  • Easy to use GUI
  • Search current and all open log files
  • Highlight select keywords in various colors
  • Monitor most recently opened documents
  • Cascade or Tile the log file windows

Wintail

Wintail

Wintail is a free program created by Andy Hofle after he struggled with viewing log files in real-time with Windows Notepad. There was no program like tail -f in UNIX for Windows at the time, so he wrote his own. It’s a useful tool enabling you to have multiple tiled windows open simultaneously, and you can also pause updates to examine files more closely when needed.

  • Supports large files over 2GB
  • Error highlighting
  • Drag-and-drop files you wish to monitor into the title or menu bar to open them
  • Create shortcuts to frequently-monitored files
  • Added support for Windows Server 2012 in November 2015

LogExpert

LogExpert

If you’re looking for an intuitive, easy-to-use tail application for Windows, LogExpert is a solid option offering search functionality, bookmarking, filter views, highlighting, time stamps, and other useful features that make monitoring a less frustrating task.

  • Search functions including RegEx
  • Flexible filter view
  • Columnizers
  • Highlight lines using search criteria
  • Supports Unicode, SFTP, log4j XML files, and third-party plugins
  • Plugin API for more log file data sources

glogg

glogg

A multi-platform GUI application for browsing and searching through long, complex log files, glogg can be described as a graphical, interactive combination of grep and less. An open-source tool released under the GPL by Nicolas Bonnefon, glogg functions on both Windows and Mac, making it a functional tool for any developer.

  • Use regular expressions to search for events in log files
  • Designed to help you spot and understand problems in the massive logs generated by embedded systems
  • Also useful for sysadmins searching through logs on databases or servers
  • Second window shows results from the current search
  • Supports grep/egrep like regular expressions
  • Colorizes logs and search results
  • Follows logs written to a disk in real-time

Source: https://stackify.com/13-ways-to-tail-a-log-file-on-windows-unix/

HOW TO TROUBLESHOOT “THE TERMINAL SERVER SECURITY LAYER DETECTED AN ERROR IN THE PROTOCOL STREAM AND HAS DISCONNECTED THE CLIENT. CLIENT IP:” AND “THE RDP PROTOCOL COMPONENT X.224 DETECTED AN ERROR IN THE PROTOCOL STREAM AND HAS DISCONNECTED THE CLIENT”ERROR MESSAGES

PROBLEM DESCRIPTION :

You may experience problems if you try to connect to a Windows Server 2008 R2 via RDP. This can also occur in a XenDesktop 7 site with a Windows Server 2008 R2 broker server.

SYMPTOMS :

– RDP Session may freeze.
– Black screen inside RDP window.
– Slow connection.
– You may also be disconnected.
-ICA Sessions may be disconnected without notice

ERROR MESSAGES :

Log Name: System
Source: TermDD
Date: 28.02.2012 08:49:40
Event ID: 56
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: XXXXX
Description:
The Terminal Server security layer detected an error in the protocol stream and has disconnected the client. Client IP: 
xx.xx.xx.xx
Log Name: System
Source: TermDD
Date: 25.02.2012 23:00:59
Event ID: 50
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: XXXXX
Description:
The RDP protocol component X.224 detected an error in the protocol stream and has disconnected the client.

SOLUTION :

The following actions solved the problem in our case.

1) Configure TCP Chimney Offload in the operating system
• To disable TCP Chimney Offload, follow these steps:
a. Use administrative credentials to open a command prompt.
b. At the command prompt, type the following command, and then press ENTER:
netsh int tcp set global chimney=disabled

2) Disable RSS in Windows Server 2008 R2
• To disable RSS, follow these steps:
1. Use administrative credentials to open a command prompt.
2. At the command prompt, type the following command, and then press ENTER:
netsh int tcp set global rss=disabled
• To determine the current status of RSS, follow these steps:
a. Use administrative credentials to open a command prompt.
b. At the command prompt, type the following command, and then press ENTER:
netsh int tcp show global


3
) Disable NetDMA in Windows Server 2008 R2
• To disable NetDMA, follow these steps:
1. Click Start, click Run, type regedit, and then click OK.
2. Locate the following registry subkey, and then click it:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3. Double-click the EnableTCPA registry entry.
Note If this registry entry does not exist, right-click Parameters, point to New, click DWORD Value, type EnableTCPA, and then press ENTER.
4. To enable NetDMA, type 1 in the Value data box, and then click OK.
5. To disable NetDMA, type 0 in the Value data box, and then click OK.

Information about the TCP Chimney Offload, Receive Side Scaling, and Network Direct Memory Access features in Windows Server 2008
Source : http://support.microsoft.com/kb/951037/en-us

If none of the above does the trick, you can change the Security Layer at the RDP stack and set it to RDP Security Layer from Negotiate

You can change it by going to Remote Desktop Host Configuration – General

Capture10

If the above doesn’t solve the issue for you, the NW card could have gone faulty.

Add or Remove Physical Hard Disk for Hyper-V Virtual Machine

Hyper-V enables running virtualized computer systems on top of a physical host. These virtualized systems (aka: guests) can be used and managed just as if they were physical computer systems, however they exist in a virtualized and isolated environment.

Your Hyper-V virtual machines can also be connected to physical hard disks from the host computer—not just to virtual hard disks. (This is sometimes referred to as having a “pass-through” disk connected to a virtual machine.)

This tutorial will show you how to add and remove physical hard disks to access from a Hyper-V virtual machine in Windows 8 and Windows 10.

Note   Note
Hyper-V is only available in the Window 8 Pro, Windows 8 Enterprise, Windows 10 Pro, Windows 10 Enterprise, and Windows 10 Education editions.

You can add hard drives (ex: HDD and SSD) and removable USB hard drives, but you will not be able to add removable media (ex: USB flash drive) to a Hyper-V virtual machine.

While you have a physical hard disk added to a Hyper-V virtual machine, you will not be able to create a checkpoint for the virtual machine.
CONTENTS:

  • Option One: To Add Physical Hard Disk to Hyper-V Virtual Machine
  • Option Two: To Remove Physical Hard Disk from Hyper-V Virtual Machine

 

To Add Physical Hard Disk to Hyper-V Virtual Machine
1. Open Disk Management (diskmgmt.msc).

2. Right click on the online disk (ex: Disk 3 – “Internal HDD”) you want to add to the VM, and click/tap on Offline. (see screenshot below)

Note   Note
It’s required that the physical hard disk be in an offline state on the host computer to be able to add to the VM.

Click image for larger version. 

Name:	Add_drive_to_Hyper-V_virtual_machine-1.png 
Views:	82 
Size:	71.5 KB 
ID:	90147

3. Once the disk is offline, you can close Disk Management if you like.

4. Open the settings of the Hyper-V virtual machine you want to add the disk to. (see screenshots below)

Note   Note
It doesn’t matter if you currently have the virtual machine off or running.

Name:  Hyper-V_VM_settings-1.png
Views: 1860
Size:  21.4 KB
Click image for larger version. 

Name:	Hyper-V_VM_settings-2.jpg 
Views:	236 
Size:	148.3 KB 
ID:	90156

5. In the VM’s settings, click/tap on SCSI Controller in the left navigation pane, select Hard Drive on the right side, and click/tap on the Add button. (see screenshot below)

Name:  Add_drive_to_Hyper-V_virtual_machine-3.png
Views: 607
Size:  60.5 KB

6. Select (dot) Physical hard disk on the right side, select the disk you want to add in the drop down menu, and click/tap on OK. (see screenshot below)

Name:  Add_drive_to_Hyper-V_virtual_machine-4.png
Views: 581
Size:  68.5 KB

7. The disk will now be available to access in the virtual machine. (see screenshot below)

Click image for larger version. 

Name:	Add_drive_to_Hyper-V_virtual_machine-5.jpg 
Views:	74 
Size:	123.7 KB 
ID:	90150

To Remove Physical Hard Disk from Hyper-V Virtual Machine

1. Open the settings of the Hyper-V virtual machine you want to remove the disk from. (see screenshots below)

Note   Note
It doesn’t matter if you currently have the virtual machine off or running.

Name:  Hyper-V_VM_settings-1.png
Views: 1860
Size:  21.4 KB
Click image for larger version. 

Name:	Hyper-V_VM_settings-2.jpg 
Views:	236 
Size:	148.3 KB 
ID:	90156

2. In the VM’s settings, select the disk you want to remove under SCSI Controller in the left navigation pane, and click/tap on the Remove button on the right side. (see screenshot below)

Name:  Remove_drive_from_Hyper-V_virtual_machine-2.png
Views: 608
Size:  66.9 KB

3. click/tap on OK. (see screenshot below)

Name:  Remove_drive_from_Hyper-V_virtual_machine-3.png
Views: 582
Size:  61.2 KB

4. The disk will now be removed from the virtual machine. (see screenshot below)

Click image for larger version. 

Name:	Remove_drive_from_Hyper-V_virtual_machine-5.jpg 
Views:	50 
Size:	118.7 KB 
ID:	90154

5. Open Disk Management (diskmgmt.msc).

6. Right click on the offline disk (ex: Disk 3 – “Internal HDD”) you removed from the VM, and click/tap on Online. (see screenshot below)

Note   Note
You will need to set the disk back to an online state to be able to access it from your host computer again.

Click image for larger version. 

Name:	Remove_drive_from_Hyper-V_virtual_machine-4.png 
Views:	47 
Size:	66.2 KB 
ID:	90163

7. Once the disk is back online, you can close Disk Management if you like.

Source: https://www.tenforums.com/tutorials/56257-add-remove-physical-hard-disk-hyper-v-virtual-machine.html

23 Best Practices to improve Hyper-V and VM Performance

Best practices are the most obvious starting point for improving your Hyper-V and Virtual Machine performance and I’ve listed 23 of them for you below.

Did I miss out on any? Leave a comment and let me know!

1. Avoid overloading Hyper-V Server

You must not overload Hyper-V Server. In other words, there is no need to host and run virtual machines which have no functions or I would say you just should not configure and install virtual machines for the sake of it. It is because VMMS.exe needs to maintain the status of all virtual machines including virtual machines which do not perform any business function.

2. Avoid creation of multiple Virtual Network Switches

VMMS.exe, running as Hyper-V Virtual Machine Management Service, keeps track of virtual switches created and the communication between virtual machines. You must always use the VLAN Tagging or other isolation mechanisms to separate communication between virtual machines instead of creating a virtual switch.

3. Configure antivirus software to bypass Hyper-V processes and directories

Antivirus software performs I/O operations for files being accessed by the Operating System and Hyper-V processes. You must alter the Antivirus configuration to exclude Hyper-V main processes and other directories as listed below:

  1. Hyper-V Processes: VMMS.exe and VMWP.exe
  2. All folders containing the Virtual Machine Hard disk files and configuration.
  3. Snapshot/checkpoint folders.
  4. Cluster Shared Volumes for path C:\ClusterStorage

4. Avoid Mixing Virtual Machines that can or cannot use Integration Service components

There are two types of virtual machine communication taking place on the Hyper-V Server 1) communication using VMBUS design 2) communication using emulation. The former is faster and is available only if you install the Integration Components in the virtual machine. In case if you need to run a virtual machine which is not supported by the Hyper-V or Integration Services cannot be installed, it is recommended to follow below guidelines:

  1. If you have a free Hyper-V Server, then install such virtual machines on that Hyper-V Server.
  2. If you do not have a free Hyper-V Server, then connect such virtual machines to a separate Hyper-V virtual switch.

5. Avoid storing system files on drives used for Hyper-V storage

You must not store Hyper-V virtual machine files on drives used by the Operating System. It is because of the I/O operation. Drives, where the system files are stored, are accessed by the system processes continuously and this might cause delay in processing the Hyper-V tasks.

6. Use separate volumes for each VM

Since the administrative tasks of a virtual machine are controlled by its own process (VMWP.exe), keeping several virtual machines on a single volume will cause more Disk I/O operations from each worker process. Hence, it is recommended to use separate volumes for storing virtual machine files (VHD, VHDx, checkpoints, and XML).

7. Avoid single point of failure for network adapters using NIC Teaming

Windows Server 2012 and later operating systems support NIC teaming. You must ensure that the NIC teaming is configured for the host operating system. Virtual Machines can also be configured to use the NIC Teaming feature.

8. Always use Network Isolation Mechanism rather than creating a separate virtual switch

When you come across any networking requirement that needs to be configured on Hyper-V Server, use the order of preference that is listed below to achieve the configuration you need. The best way is to use the “Hyper-v Virtual Network Switch and VLAN Tagging” method. Other methods can also be used depending on your requirements, but consider them in this order:

  1. Hyper-V Virtual Switch and VLAN Tagging Method
  2. Hyper-V Virtual Switch Method
  3. Firewall Method
  4. Different subnet Method
  5. Another Physical NIC Method

9. Install Multiple Network Interface cards on Hyper-V Server

There are multiple types of communication taking place in the Hyper-V. For example, communication between virtual machines, communication between virtual machines and parent and communication to manage these virtual machines from a management console. It is always recommended to dedicate a network interface card for managing virtual machines and Hyper-V host. Use of fabric resources is considered nowadays.

Want to get more Hyper-V performance on existing hardware? We have a guide for that.

10. Always use supported guest Operating Systems

VMBUS and VSP/VSC components are part of the Integration Services which help in improving the performance of communication between virtual machines and parent partition. Integration Components can be installed only on the Supported guest operating systems. Hence, please only install operating systems which are supported. A list of supported Guest Operating systems can be found here http://support.microsoft.com/kb/954958

11. Always use Generation Type 2 Virtual Machines

“Generation Type 2” feature was introduced with Windows Server 2012 R2. Previously, normal virtual machines allowed booting from IDE controller only, but with Generation Type 2, you can boot virtual machines from a SCSI controller, which is much faster than a virtual machine booting from an IDE controller. “Generation Type 2” virtual machine uses VMBUS and VSP/VSC architecture at the boot level, which improves overall performance of the virtual machines. “Generation Type  2” feature also allows paging file to be relocated to a SCSI controller.

12. Always change the default location for storing virtual machine configuration and VHD files

By default, when you enable the Hyper-V Role for the first time, the Hyper-V server is configured to store the virtual machine configuration and VHD files on the local storage under C:\ProgramData\Windows\Hyper-V\Virtual Machines folder. You must change this location to appropriate drives before the Hyper-V servers are moved to the production environment.

13. Monitor performance of Hyper-V Server for optimization

There are several Hyper-V performance counters available which you can use to monitor the performance of the Hyper-V Server, virtual machines, network communication, etc. Please make use of these performance counters and fix any issues with the performance.

14. De-fragment Hyper-V Server regularly or before creating a virtual hard disk

It is advisable to defrag Hyper-V Server disks where the VHD and virtual machine configuration files are stored regularly or before creating a large virtual hard disk file.

15. Always install the Integration Components on the supported virtual machines

Integration Components provide VMBUS and VSP/VSC design to improve the performance of virtual machines running on the Hyper-V Server. Always install the Integration Components on supported Guest operating systems. For Linux distributions, there are separate IC versions available which you can download from Microsoft site.

16. Always use Fixed VHD files

If storage is not an issue to get better performance for resource intensive applications, it is recommended to deploy virtual machines over Fixed VHD files instead of using Dynamic VHD files.

17. Use Dynamic Memory Feature

Although, the Dynamic Memory feature does not help directly in achieving better performance of the virtual machines, but it allows you to balance the allocation of memory resource dynamically. It is recommended to configure Dynamic Memory parameters for each critical virtual machine running on a Hyper-V server.

18. Configure SCSI disks for Data volumes

Since SCSI is faster than IDE, it is recommended to relocate data volume disk on a SCSI controller. For resource intensive applications like SQL Server, it is always recommended to keep Log and data disk files on separate SCSI controllers.

19. Relocate paging file to a SCSI Disk Controller

For applications running inside virtual machines which requires frequent paging operation, always relocate paging file to a SCSI Controller virtual hard drive. Paging file can be relocated to a SCSI controller if you are running “Generation Type 2” Virtual Machine.

20. Always exclude Paging file for virtual machines participating in Hyper-V Replication

If you have enabled Hyper-V Replication for virtual machines, make sure to exclude paging file from replication. Applications running inside virtual machines may do frequent paging operation and this may cause paging file contents to be replicated which are unnecessary.

21. Implement Hyper-V in Server Core in Production environment

Since Windows Server Core Operating System does not have a GUI, it consumes less resources. It is recommended to enable Hyper-V on a Windows Server Core installation rather than using a full version of Windows Operating System.

22. Close unnecessary Windows

Please make sure to close the following windows on Hyper-V server so the system resources are available to Hyper-V processes:

  1. Virtual Machine Connection Window: Always remember to close Virtual Machine connection window, once your task to the virtual machine is completed. Keeping the virtual machine connection window opened consumes system resources which could be utilized for other purpose by the hypervisor.
  2. Minimize Hyper-V Manazer Window: Keeping the Hyper-V Manager window opened also consumes system resources. So close it after your task is over.
  3. Any other Application Window: Make sure to close all other application windows on Hyper-V Server so the enough system resources are available to the hypervisor.

23. Use Certified Hardware

Microsoft developers spent a lot of time in testing the server applications on the specific hardware. It is recommended that we use only certified hardware, whenever possible. The list can be found here: www.windowsservercatalog.com