{"id":126,"date":"2006-10-07T20:47:49","date_gmt":"2006-10-08T06:47:49","guid":{"rendered":"https:\/\/anildesai.net\/?p=126"},"modified":"2009-09-03T20:08:49","modified_gmt":"2009-09-04T01:08:49","slug":"optimizing-microsoft-virtual-server-part-6-optimizing-network-performance","status":"publish","type":"post","link":"https:\/\/anildesai.net\/index.php\/2006\/10\/optimizing-microsoft-virtual-server-part-6-optimizing-network-performance\/","title":{"rendered":"Optimizing Microsoft Virtual Server, Part 6: Optimizing Network Performance"},"content":{"rendered":"<p><em>This article was first published on <\/em><a href=\"http:\/\/searchservervirtualization.techtarget.com\/\"><em>SearchServerVirtualization.TechTarget.com<\/em><\/a><em>.<\/em><\/p>\n<p>It\u2019s rare these days to encounter computers or applications that don\u2019t in some way rely on a network connection. General networking principals apply to virtual machines just as they apply to physical ones. But, since the host\u2019s network adapters will be providing resources for all VMs, there are some special considerations, as well. In this article, I\u2019ll present some ways in which you can design networks with virtualization performance in mind.<\/p>\n<p>Note: For an introduction to working with Virtual Server\u2019s networking options, see <a href=\"http:\/\/searchservervirtualization.techtarget.com\/tip\/0,289483,sid94_gci1222487,00.html?asrc=SS_CLA_303455&amp;psrc=CLT_94\"><em>Configuring Virtual Networks in Virtual Server \u2013 Microsoft Virtual Server from the Ground Up<\/em><\/a>.<\/p>\n<h2>Managing Host Network Adapters<\/h2>\n<p>When multiple VMs perform network-intensive operations, the host\u2019s network adapter can become a bottleneck. In the simplest network configuration, a Virtual Server host computer will have only physical network port. While this system will allow you to share the network adapter with VMs, you can add some security and manageability by adding a second network port. Figure 1 shows an example. Since it\u2019s a good idea to isolate network traffic (for security and performance reasons), you can choose to place all VMs on a separate Virtual LAN (VLAN) on your switch.<\/p>\n<p><a href=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image21.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px\" src=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image-thumb21.png\" border=\"0\" alt=\"image\" width=\"446\" height=\"223\" \/><\/a><\/p>\n<p><strong>Figure 1: Using multiple host network adapters.<\/strong><\/p>\n<p>Since Virtual Server allows you to connect up to four virtual NICs per VM, you can add additional physical network connections, as needed.<\/p>\n<h2>Using the Virtual DHCP Server<\/h2>\n<p>Virtual Server\u2019s built-in DHCP Server can be enabled for virtual networks and can help you create logically-separate networks on the same physical network segments. Through the use of differing IP address ranges, this technique can help segregate network traffic without requiring the configuration of VLANs or other devices on your switches. Figure 2 shows an example of a potential configuration.<\/p>\n<p><a href=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image22.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px\" src=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image-thumb22.png\" border=\"0\" alt=\"image\" width=\"464\" height=\"241\" \/><\/a><\/p>\n<p><strong>Figure 2: Using DHCP to logically isolate network traffic.<\/strong><\/p>\n<h2>Using NIC Teaming<\/h2>\n<p>The concept of NIC teaming is to allow multiple network ports to act as one logical unit. There are two main goals. The first is automatic fail-over. If one of the connections becomes unavailable (due to a port or switch failure), the other port can seamlessly take over the load. The other goal is performance: Having multiple ports working together in a group can increase effective bandwidth. Keep in mind that some configurations will depend on support from the network infrastructure-side (for example, port grouping options on switches).<\/p>\n<p>Other network adapter optimizations include changing the default TCP packet size. If you\u2019ll be routinely transferring large files (such as VHDs) between servers, using Jumbo Frames can greatly reduce overhead and increase performance.<\/p>\n<h2>Virtual Server and Firewalls<\/h2>\n<p>It usually goes without saying that firewalls and port-level filters provide an important layer of defense for Virtual Server hosts and VMs. Theoretically, if an unauthorized user gained access to your Virtual Server host, she could gain access to the VMs themselves. If you want to place a firewall between Virtual Server and potential users, you\u2019ll need to keep in mind which ports you might need to open to make various services available (see Figure 3).<\/p>\n<p><a href=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image23.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px\" src=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image-thumb23.png\" border=\"0\" alt=\"image\" width=\"475\" height=\"262\" \/><\/a><\/p>\n<p><strong>Figure 3: TCP Ports used by various Virtual Server-related services<\/strong><\/p>\n<h2>Monitoring Network-Related Performance<\/h2>\n<p>When planning for virtualization network configurations, it can be useful to get statistics about traffic traversing the host and guest interfaces. Figure 4 provides an example of statistics that can be collecting using Windows System Monitor. When measured at the host level, you can get an aggregate summary of how much bandwidth is being used and if there\u2019s an outbound queue. To drill-down on the source of the network information, each guest OS can be monitored. You can further filter the details per network adapter.<\/p>\n<p><a href=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image24.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px\" src=\"https:\/\/anildesai.net\/wp-content\/uploads\/2007\/10\/image-thumb24.png\" border=\"0\" alt=\"image\" width=\"469\" height=\"381\" \/><\/a><\/p>\n<p><strong>Figure 4: Network performance counters of the \u201cNetwork Interface\u201d object<\/strong><\/p>\n<h2>Summary<\/h2>\n<p>There are many different ways in which you can configure networks to better support virtual machines. We looked at methods for segmenting traffic, increasing throughput, configuring firewalls, and monitoring network statistics. All of this can help optimize network performance in virtualized environments of any size.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article was first published on SearchServerVirtualization.TechTarget.com. It\u2019s rare these days to encounter computers or applications that don\u2019t in some way rely on a network connection. General networking principals apply to virtual machines just as they apply to physical ones. But, since the host\u2019s network adapters will be providing resources for all VMs, there are [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,12],"tags":[],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-microsoft-virtual-server","category-virtualization"],"_links":{"self":[{"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":2,"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":389,"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions\/389"}],"wp:attachment":[{"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/anildesai.net\/index.php\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}