BY OPTIMIZING SYSTEMS MANAGEMENT SERVER'S COMPONENTS, YOU CAN IMPROVE ITS OVERALL PERFORMANCE
Microsoft's Systems Management Server (SMS) is a product of power and flexibility that can greatly enhance a company's ability to manage its distributed computer environment. But with this power comes responsibility. Not only must you plan, design, configure, and maintain SMS's components but also optimize their performance. Here are seven tips on how to optimize some of SMS's components, including Service Pack 3 (SP3), SQL Server, software distribution, history files, inventory, Remote Access Service (RAS) clients, and SMS Administrator machines. (For more information about SMS, see "Related Articles in Windows NT Magazine," page 147.)
TIP 1: Install SMS SP3
The most recent addition to the optimization arsenal is SMS SP3, which offers several important performance enhancements for SMS client processing. For example, suppose you want to add a Windows 95 client to an SMS site. You can either run smsls.bat from a logon script or connect to an SMS logon server and execute runsms.bat manually. In either case, the SMS batch file first calls the appropriate client setup program (cli_dos.exe for a Win95 client), which copies SMS files to the client and configures SMS client and inventory components. The client setup program then reads the appropriate copy list file (cl_w95.txt for a Win95 machine) from the SMS logon server to determine which files to copy to the client. Listing 1, page 146, shows the STANDARD NETWORK FILES section of the cl_w95.txt file with SP2. Listing 2, page 146, shows the same section with SP3.
Before SMS 1.2 SP3, many of the client configuration and inventory programs were executed from the logon server and run over the network. As a result, users often had to wait a long time for the logon process to complete, especially over slow links. With SP3 installed, the copy list file instructs SMS to copy many of these configuration and inventory programs directly to the client's local hard disk. Although this setup results in a slightly larger disk space requirement, it yields faster logon times and reduces network traffic between the logon server and client. In tests, we found that an SMS Win95 client with SP2 used about 2MB of disk space. The same client with SP3 installed used about 3.2MB of disk space. More important, SP3 reduced the amount of data transferred over the network between the client and logon server by about 60 percent. We achieved these values with all client options turned on and hardware inventory being taken with each logon. The extra 1.2MB of disk space on each client is a small price to pay for a 60 percent reduction in network traffic between the client and server with each logon.
TIP 2: Tune SQL Server
SMS uses SQL Server in many of its operations. Thus, to optimize SMS's performance, you must optimize SQL Server's performance. Opportunities for performance improvement include dedicating specific processors to SQL Server, using NTFS, and taking advantage of two SQL Server scripts (smsmaint.sql and chksms.sql).
Dedicate processors to SQL Server. When Windows NT runs a process on a multiprocessor system, you can't be sure which processor will run which thread or even that the same processor will run the same thread. A process thread can migrate from processor to processor, causing reloading of the processor cache. This reloading of the processor cache can cause a decline in performance. By dedicating specific processors to SQL Server, you can reduce the reloading of processor caches, thereby increasing performance.
Processor affinity is the association between a processor and a thread. You can set processor affinity in SQL Server 6.5 with the Affinity Mask advanced configuration option. By default, this option isn't visible on the Configuration tab of SQL Server. You first must configure SQL Server to show the advanced options by right-clicking the SQL Server you are administering and clicking the Configure option. When you see Server Configuration/Options with four tabs across the top, click the Configuration tab and scroll down until you see Show Advanced Options. By default, this value is 0. Set this value to 1, and click Apply Now, OK.
Follow the same procedure to get back to the Configuration tab in the Server Configuration/Options screen. The first option will now be Affinity Mask. By default, this value is 0, which specifies that SQL Server will apply normal NT scheduling algorithms. SQL Server interprets any other value as a bit mask that specifies which processors are available for selection. For example, the value of 3, which has the binary equivalent 00000011, allows SQL Server threads on processors 0 and 1. (Bit 1 is processor 0, bit 2 is processor 1, and so on.) A value of 254, which is 11110000, allows SQL Server threads on processors 5, 6, 7, and 8.
The Affinity Mask option offers the best prospects for a performance increase on multiprocessor systems with more than four processors operating under heavy load. You can use NT's Performance Monitor to analyze each processor to determine the optimal settings for your environment.
Use NTFS for SQL Server. SQL Server spends most of its time reading from the SMS database rather than writing to it. Because SQL Server reads faster from an NTFS partition and writes faster to a FAT partition, you can increase performance by making sure that SQL Server is on an NTFS partition.
Take advantage of two SQL Server scripts. SMS spends much time writing to and reading from the SQL Server database. If you properly tune and maintain this database, you can ensure efficient performance and data integrity. You can use two SQL Server scripts, smsmaint.sql and chksms.sql, in Microsoft's BackOffice Resource Kit to tune and maintain the database. You will find these scripts in the sms\bins\i386 and sms\bins\alpha directories on the BackOffice Resource Kit CD-ROM. You can use ISQL/w to view and execute them. These scripts let you check database consistency, change database and SQL Server options, clean out old machine data from the database, and reduce index space.
TIP 3: Optimize Software Distribution
One of SMS's most powerful features is software distribution. You can optimize this feature by maximizing distribution performance over slow network links and tailoring package compression to meet your environment's needs.
Maximize distribution performance over slow network links. If you have users that always communicate through RAS, you can still take advantage of SMS to distribute standardized and automated software installations to them. You can use two methods, the first of which is to create a dummy SMS package and manually copy it to the distribution share. This method involves six steps:
- Create your installation source directory as usual.
- Copy it to a CD-ROM.
- Mail the CD-ROM to the remote user.
- Use SMS to send a dummy package with a small file as a placeholder.
- Copy the contents of the CD-ROM into the dummy package directory after you have distributed the dummy package.
- Execute the installation routine from Package Command Manager (PCM) on the remote client.
The second method is similar to the first, except that you use the CD-ROM to install the software. This method also involves six steps:
- Create your installation source directory as usual.
- Copy it to a CD-ROM.
- Mail the CD-ROM to the remote user.
- Create an SMS package that executes the installation routine from the CD-ROM.
- Distribute the SMS package to the remote sites.
- Execute the installation routine from PCM on the remote client.
Microsoft's Web site (http://www.microsoft.com/smsmgmt/support/out_of_band.asp) contains a white paper, "Distributing Software Over Slow Links," that discusses these two methods in detail.
Tailor package compression for your environment. When SMS distributes a package, it compresses the data before it sends the package. This compression process intensely uses the CPU. If your Site Server and distribution servers have adequate disk space, you can disable the compression process to speed up package distribution.
By default, the Enable Compression value in Registry entry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Compression is set to yes. If you set this value to no, you will disable compression and increase your package distribution performance. However, you will also increase disk space requirements and, more important, increase network bandwidth utilization when SMS distributes these packages.
If you are more concerned about bandwidth usage than speed in your environment, you can increase the level of package compression. You can choose from seven levels of compression, 1 being the lowest level and 7 being the highest level. The default is level 1. To change the Compression Level value, go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Compression. By increasing compression, you will use less network bandwidth and disk space on your servers. However, package distribution performance will decrease.