Scaling Server Hardware for Performance

You have already seen how to divide the labor of a BizTalk installation among multiple SQL Server and multiple BizTalk Server machines. This section describes the options for scaling the hardware of individual servers and the network that connects them. “Monitoring BizTalk Server for Performance,” later in this chapter, explains how to monitor the actual performance realized and modify the workload division and server hardware to eliminate any remaining bottlenecks.

Scaling Server Processors

Both BizTalk Server and SQL Server support multiprocessing, so the performance of both can benefit from including multiple fast processors in your system design. However, counting both hardware costs and per-processor software licensing costs, it may be more effective to create N single-processor servers rather than one N-processor server in which all the processors share single memory, disk, and network subsystems. In either case, it is important to choose processors for the BizTalk servers that have at least 1 MB of Level 2 cache—2 MB is better. The large cache is needed for efficient execution of the BizTalk Parser, and overall performance may suffer considerably if smaller caches are used.

Scaling Server Memory

Both BizTalk servers and SQL servers should have at least 512 MB of physical memory. More is better; money spent on extra memory generally has a greater effect on performance than that spent on greater processing power.

An important additional factor on machines running SQL Server is that, using the default installation memory settings, processing large result sets will use 100 percent of physical memory. That causes the operating system itself to page out, and because SQL Server itself relies on operating system services, the result is page thrashing so severe that the machine may become completely unresponsive for several minutes. Setting the maximum memory allowed for the SQL Server process (see Figure 21.9) to about 75 percent of the physical memory size appears to eliminate this problem completely—actually improving the overall performance of the database server.

Figure 21.9. Setting maximum SQL Server memory.


Scaling Disk Storage

Disk performance is most critical for the database servers in a BizTalk installation. The BizTalk servers themselves mostly communicate with database servers over the network and do not heavily tax their local disk storage (except file-receive servers, and even then the disk systems are usually much faster than the local network connection). Standard recommendations to optimize a SQL server to host a single database include at least three separate physical disk systems per server:

  • One disk for the operating system and paging file (assuming that memory is large enough that paging is minimized)

  • One disk for the database transaction log (mostly sequential write, so heads move very little)

  • One disk for the database data file(s) (random access, separate from the operating system and transaction log disks so that all seeks are used for database read and write only)

To attain the full benefit of multiple disk systems, you must also include a multichannel disk controller capable of performing separate data transfers on all the disk systems simultaneously.

High-availability for a SQL server is usually achieved by mirroring the system/paging volume and the transaction-log volume, and using hardware RAID-5 (Redundant Array of Inexpensive Devices with parity) for the data volume. However, because of the high volume of database activity in BizTalk Server, RAID-5 is not recommended for the servers hosting the Shared Queue and Document Tracking databases. The reason is that, although a single failed drive does not impair the performance of a RAID-5 array, replacing a failed drive does considerably reduce performance of the array. During the recovery process, the entire content of all the drives in the array must be read to initialize the replacement drive with parity data. All the seeks required to read that data are interfering with the seeks required to read and write data for the database file on the running server. Therefore, for a database server in a BizTalk Server installation, the recommended technologies for the database file volume are RAID-0 (disk striping for performance, but no parity) or RAID-10 (a mirrored pair of RAID-0 volumes). At a minimum, if you choose to use RAID-5 on a database server, you may need to wait for off-peak hours to replace a failed drive in the array, accepting a slight risk of complete server failure (availability risk) to avoid the higher risk that you will fall behind in document processing (performance risk).

Scaling Network Hardware

The performance of a multiserver BizTalk Server installation is heavily dependent on efficient network communication among all the servers. Web servers are submitting documents; BizTalk servers are sending documents to the Tracking database, reading documents from the Shared Queue database, and sending processed documents on to their recipients. In a high-volume installation, a single 100-Mbps network segment may not be sufficient to carry all the traffic.

One solution is to include two or even three NICs (Network Interface Cards) in the BizTalk servers and create several physically separate network segments to allow simultaneous traffic between several pairs of servers. For example, one segment could be dedicated to connecting BizTalk servers to the Shared Queue database server, whereas another segment could be used only for connections to the Document Tracking database server. A third segment could be used for receiving and sending documents.

Another way to increase the effective bandwidth of the local network is to use smart switches in place of simple network hubs. Ordinary hubs broadcast all packets received to all machines on the network, so only one machine can “talk” at a time. Smart switches examine the packet to see which machine is the intended destination and forward the packet only on the wire connected to that destination machine. Therefore several machines can send at one time—the switch may even be able to buffer simultaneous messages to the same destination—and the network bandwidth is effectively increased to several times its rated speed of 100 Mbps.

Finally, faster technologies such as 1000 Mbps fiber-optic cables can be employed to connect some or all of the servers in the BizTalk Server installation. Such networks normally include smart switches as a standard feature, so the effective capacity can be 20–30 times greater than a simple-hub 100 Mbps network. Some high volume BizTalk Server installations may justify the use of this expensive but powerful technology.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset