is stored on the virtual machine itself. This accommodates the most efficient use of available storage. start as zeroed blocks but are not backed by any actual space in the VHD file. Reads from such blocks return a block of zeros. When a block is first written to, the virtualization stack must allocate space within the VHD file for the block and then update the corresponding metadata. In addition to this every time an existing block is referenced the block mapping must be looked up in the metadata. This increases the number of read and write activities which in turn causes increased CPU utilization. The dynamic growth also requires that the server administrator monitor disk capacity to ensure that is sufficient disk storage as the storage requirements increase. If performance is not a concern, for instance in a development environment, this may be a suitable option for the operating system hard drives. Causes additional CPU overhead due to block mapping lookup. Differencing disks This a configuration where the differencing disk stores all changes relative to a base VHD and the base VHD remains Performance can degrade because read/writes need to access the parent VHD as well as the A amount of machine specific configuration is required for BizTalk Server 2009 installations and child
static. Therefore only the blocks which are different from the parent need to be stored in the child differencing VHD. differencing disk. This increases CPU utilization and disk I/O overhead. VHD files may grow substantially which would minimize the benefits of using this disk configuration. Reading from multiple VHD’s in this scenario incurs additional CPU and disk I/O overhead. Passthrough disks These are physical disks which are set to offline in the root partition and enable Hyper-V to have exclusive read-write access to the physical disk. Requires a fully dedicated disk or LUN in order for it to be allocated to a virtual machine. A physical disk is more difficult to move between machines than VHD files. If your SQL Server instance is running on a Hyper-V, you may obtain incremental performance improvements by using passthrough disks over using fixed virtual hard disks (VHD) for the BizTalk Server 2009 data volumes. If you are hosting local file receive locations on BizTalk Server 2009 or streaming large messages to disk during processing, you may obtain incremental performance improvements using passthrough disks over using fixed virtual hard disks (VHD). For more information about implementing disks and storage with Hyper-V see (http://go.microsoft.com/fwlink/?LinkID=142362).
Ensure that your processor supports virtualization and Data Execution Prevention (DEP) and that these features are enabled. This requires a processor that is compatible with Intel VT or AMD Virtualization (AMD-V). See the Hyper-V Installation Prerequisites available at . Use Windows Server 2008 Core Edition for the root partition. This will minimize server overhead and improve Hyper-V performance. See the topic Install the Hyper-V Role on a Server Core Installation of Windows Server 2008 available at . Run only the Hyper-V server role on the root partition. From the Performance Tuning for Virtualization Servers section of the Performance Tuning Guidelines for Windows Server 2008 whitepaper available for download at : Dedicated Server Role The root partition should be dedicated to the virtualization server role. Additional server roles can adversely affect the performance of the virtualization server, especially if they consume significant CPU, memory, or I/O bandwidth. Minimizing the server roles in the root partition has additional benefits such as reducing the attack surface and the frequency of updates. System administrators should consider carefully what software is installed in the root partition because some software can adversely affect the overall performance of the virtualization server. When Creating Hyper-V Virtual Machines… Step Reference Using a fixed size virtual hard disk (VHD) provides improved performance compared to dynamically-resized VHDs for operating system drives. From the Performance Tuning for Virtualization Servers section of the Performance Tuning Guidelines for Windows Server 2008 whitepaper available for download at : Fixed-size VHD Space for the VHD is first allocated when the VHD file is created. This type of VHD is less apt
to fragment, which reduces the I/O throughput when a single I/O is split into multiple I/Os. It has the lowest CPU overhead of the three VHD types because reads and writes do not need to look up the mapping of the block. Use fixed-size virtual hard drive (VHD) disks for high disk I/O activities and configure disks for data volumes using the SCSI controller. For highly intensive storage I/O workloads that span multiple data drives, each VHD should be attached to a separate synthetic SCSI controller for better overall performance. In addition, each VHD should be stored on separate physical disks. From the Performance Tuning for Virtualization Servers section of the Performance Tuning Guidelines for Windows Server 2008 whitepaper available for download at : Synthetic SCSI Controller The synthetic storage controller provides significantly better performance on storage I/Os with reduced CPU overhead than the emulated IDE device. The VM integration services include the enlightened driver for this storage device and are required for the operating system to detect it. The operating system disk must be mounted on the IDE device for the operating system to boot correctly, but the VM integration services load a filter driver that reroutes IDE device I/Os to the synthetic storage device. We strongly recommend that you mount the data drives directly to the synthetic SCSI controller because that configuration has reduced CPU overhead. You should also mount log files and the operating system paging file directly to the synthetic SCSI controller if their expected I/O rate is high. For highly intensive storage I/O workloads that span multiple data drives, each VHD should be attached to a separate synthetic SCSI controller for better overall performance. In addition, each VHD should be stored on separate physical disks. Use the SCSI controller to attach VHD for high I/O activities, such as for SQL Server data and log files. Even though Hyper-V IDE controller and SCSI controller offer comparable performance, the SCSI controller can only be installed if Hyper-V integration services are installed. Therefore, use of the SCSI controller to attach
 \Memory\Available Mbytes – Available MBytes measures the amount of physical memory available to processes running on the computer, as a percentage of physical memory installed on the computer. The following guidelines when measuring the value of this performance monitor counter:  50% of free memory available or more = Healthy  25% of free memory available = Monitor  10% of free memory available = Warning  Less than 5% of free memory available = Critical, performance will be adversely affected  \Memory\Pages/sec – This performance monitor counter measures the rate at which pages are read from or written to disk to resolve hard page faults. To resolve hard page faults, the operating system must swap the contents of memory to disk, which negatively impacts performance. A high number of pages per second in correlation with low available physical memory may indicate a lack of physical memory. The following guidelines apply when measuring the value of this performance monitor counter:  Less than 500 = Healthy  500 - 1000 = Monitor or Caution  Greater than 1000 = Critical, performance will be adversely affected Measure available memory on the guest operating system – Memory that is available to the guest operating systems can be measured with the same performance monitor counters
Install the latest service pack and cumulative updates for SQL Server Install the latest service and the latest cumulative updates for SQL Server 2005 and SQL Server 2008 as well as the latest .NET Framework service packs. Install SQL Service on both BizTalk Server and SQL Server When installing service packs for SQL Server, also install the service pack on the BizTalk Server computer. BizTalk Server uses SQL Client components that are updated by the SQL Server service packs. Consider implementing the SQL Server 2008 Data Collector and Management Data Warehouse SQL Server 2008 accommodates the use of the new Data Collector and Management Data Warehouse to collect environment/database performance related data for test and trend analysis. The Data Collector persists all collected data to the specified Management Data Warehouse. While this is not a performance optimization, this will be useful for analysis of any performance issues. Grant the account which is used for SQL Server the Windows Lock Pages In Memory privilege Grant the Windows “Lock Pages in Memory” privilege to the SQL Server service account. This should be done to prevent the Windows operating system from paging out the buffer memory of the SQL Server process by locking memory that is allocated for the buffer pool in physical memory. For more information, see Microsoft Knowledge Base article 914483 “How to reduce paging of buffer pool memory in the 64-bit version of SQL Server 2005” at . the SE_MANAGE_VOLUME_NAME right to the SQL Server Service account Ensure the account running the SQL Server service has the “Perform Volume Maintenance Tasks” Windows privilege or ensure it belongs to a security group which does. This will allow instant file initialization ensuring optimum performance if a database has to auto-grow.