Top Banner
Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland 20852 www.eicorp.net
48

Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Dec 27, 2015

Download

Documents

Antony Holmes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Improving the Performance of Your Windows NT/2000 Server

Gary Cline

Enterprise Integration Corporation

6110 Executive Blvd, Suite 906

Rockville, Maryland 20852

www.eicorp.net

Page 2: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Objective

To provide an overview of some of the critical factors that impact Windows NT/2000 Server performance, including:– CPU, Memory and PCI Bus Settings– Adapter Card Installation and Configuration– Disk and RAID Settings– Real-time Thread Priority – Processor Affinity– Registry Settings– Sources of Information

Page 3: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Pentium Processor Block Diagram

L1 Cache

PentiumProcessor

L2 CacheController

CacheSRAM

Back SideCache Bus

Front Side Busto Memory Controller

Page 4: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Effects of Cache Size on Cache Hit Ratio

Page 5: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

CPU, Memory, & PCI Bus Parameters

• The Pentium processor was the first Intel processor implemented with an L2 cache.

• The Pentium Pro processor incorporated the L2 cache into the processor chip and increased the speed of the L2 to equal the processor's.

• The Pentium II processor also incorporated the L2 cache into the processor chip, but at only half the speed of the processor.

Page 6: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

CPU, Memory, & PCI Bus Parameters

• To offset the slower speed of the Pentium II's L2 cache, Intel increased the size of the L1 cache.

• Today, all state of the art Pentium and Pentium compatible processors have the L2 cache running at the same speed as the processor chip.

• Since the size of the L2 cache cannot be increased without replacing the processor, purchase your servers with the largest L2 cache possible.

Page 7: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.
Page 8: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

CPU, Memory, & PCI Bus Parameters

• The speed of the system clock which regulates the speed of the system bus is determined by jumpers on the motherboard.

• The speed of the processor and the PCI bus is a multiple of the system bus, determined by jumpers on the motherboard.

• It was once possible to over-clock the processor and the PCI bus speeds, but not any more.

Page 9: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

CPU, Memory, & PCI Bus Parameters

• Intel chipsets (processor, memory controller, PCI bus controller) have over two hundred settings, many of these settings impact system performance. They include:– CPU to PCI Posting– CPU Pre-fetch– CPU Multiple Read Pre-fetch– CPU Line Read Pre-fetch– PCI Bus Master Enable

• These settings are processor, BIOS, and manufacturer dependent.

Page 10: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

CPU, Memory, & PCI Bus Parameters

• There are a large number of utilities for displaying and editing these settings for single processor desktop units, but not for multi-processor SMP servers.

• The manufacturer configure their chipset for maximum stability not maximum performance.

• You should have a copy of the factory chipset settings (basic & advanced) and the utility software for displaying and editing the

settings on your server.

Page 11: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

CPU, Memory, & PCI Bus Parameters

• Changing the value of the advanced settings is not for the faint hearted. You may discover that your system will not boot after changes.

• Sources of CPU, Memory, and PCI bus parameters include:

– www.sysopt.com System Optimization– www.miro.pair.com TweakBios program &

BIOS Companion book

– www.pcguide.com Excellent technical site

Page 12: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Adapter Card Install & Configuration

• The maximum speed/throughput of a PCI bus is 132 Mb/sec at 33 Mhz and 200 Mb/sec at 50 MHz. Actual speeds are around 20 Mb/sec and 30 Mb/sec

• Manufacturers of high performance SMP servers have introduced multiple PCI busses in a single chassis to improve I/O performance

• The secondary bus tends to be 10% faster than the primary bus. Serial and parallel ports, keyboard are connected via the primary bus and slow it down.

Page 13: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Adapter Card Install & Configuration

• If you have one network adapter and one SCSI adapter, install the network adapter in the primary bus and the SCSI adapter in the secondary bus.

• Multiple SCSI adapters then their numbers should be balanced across all of the busses.

• If you have multiple network adapters then purchase a multi-port board. Both Adaptec and Aurora Technologies market 4 port Ethernet adapters.

Page 14: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Intel 440BX Motherboard

Page 15: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Adapter Card Install & Configuration

• Use only high-performance PCI adapters that support PCI bus mastering and burst mode.

• Never use EISA bus adapters.

• Ensure that you are using the most current device drivers.

Page 16: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Adapter Card Install & Configuration

• Do not assume that the manufacturer will follow these guidelines.

• Do not install a sound card in a server.

• Do not enable the screen saver with anything other than a static screen. Dynamic screen savers can consume 60-70% of a single cpu.

Page 17: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• Disk operations are measured in milliseconds while CPU and PCI bus operations are measured in nanoseconds or microseconds

• Disk subsystems are important because the physical orientation of the data stored on disk has an influence on overall server performance.

• A detailed understand of how disk subsystems operate is critical for effectively solving many server bottlenecks.

Page 18: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• Your system will have a disk bottleneck

• You will often be told that the system is not I/O bound

• The larger the data pool, the greater the chance the data is not cached and therefore the greater the need for a disk subsystem strategy.

Page 19: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Components for Random Disk I/O Time

Seek Time57%

SCSI Transfer3%

Rotation (RPM)27%

Other 6%

Transfer to Controller7%

Page 20: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• Do not use EIDE disk drives. EIDE interface does not handle multiple I/O requests very efficiently and the EIDE interface consumes more CPU capacity per I/O than SCSI.

• Obtain the technical specifications as well as software utilities for changing the settings for the disk drives and adapters in your servers.

Page 21: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• Devices with Cache have tuning parameters such as High Water Mark, Low Water Mark, page size, look ahead, etc.

• The value of these parameters affects the quality of cache predictions and data prefetch/retention.

• Many parameters are poorly documented

• Some have nice GUI, others are a mess.

Page 22: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and Raid Settings

• The National Software Testing Laboratories reports that defraging your disk drives can dramatically improve your server’s performance

• Benchmark tests show improvements greater than 20% running Microsoft Exchange and SQL Server 7.0

• While Windows 2000 is delivered with defragmentation software from Executive Software. It’s the lite version

• The benchmark report can be found on Executive Software’s web page at http://www.execsoft.com/nstl-dk/

Page 23: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• Run disk benchmarks to determine the throughput of your disk subsystem, and compare the numbers you obtained with industry standards.

• As a general rule, do not configure more than three or four disk drives to a single SCSI adapter.

• RAID was created to address the huge gap between computer I/O requirements, single disk drive latency, and throughput.

Page 24: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

RAID Comes in Many Different Sizes

Page 25: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• RAID is a collection of techniques that treat a redundant array of inexpensive disk drives as a single unit with the objective of improving performance and reliability.

• There are five RAID strategies employed by RAID manufacturers, each with their own advantages and disadvantages.

Page 26: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

RAID Levels Defined

• RAID 0 stripes data across all disks, no redundancy or parity.

• RAID 1 mirrors data across multiple disks.

• RAID 2 bit interleaves data across multiple disks with parity

information. This Level is not used in practice.

• RAID 3 and 4 stripe data across multiple drives and write parity to a

dedicated drive.

• RAID Level 5 stripes data and parity information at the block level

across all the drives in the array.

Page 27: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Raid 0 – Disk Stripping

Page 28: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Raid 1– Disk Mirroring

Page 29: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Raid 0 + 1 Disk Stripping and Mirroring

Page 30: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Raid 4 – Stripping with Parity

Page 31: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Sample Disk Busy --Single Disk Drives% Disk Busy -- Complex Model

0

10

20

30

40

50

60

70

80

90

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 21

Time

hdisk30 hdisk31 hdisk36

Page 32: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

% Disk Busy with Raid 0+1% Disk Busy

0

5

10

15

20

25

30

35

40

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Time

% D

isk

Bus

y

hdisk7 Raid(hdisk40) hdisk55 Raid(hdisk89)

Page 33: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• Many factors effect RAID performance. The most significant factors in order of importance include:– RAID strategy– Number of disk drives– Drive performance– Firmware level– Stripe size– SCSI bus configuration– Write-back.

• In general, adding disk drives is one of the most effective changes that can be made to increase overall server performance.

Page 34: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Disk and RAID Settings

• Optimum performance of your disk subsystem is highly dependent upon the characteristics of your applications' I/O requirements.

• You may consider employing RAM disk software to eliminate I/O's on your disk subsystem for high usage files.

• An excellent source of information on RAID technology is the RAID Advisory Board. Their web page can be found at www.raid-advisory.com.

Page 35: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

NT Scheduler & Thread Priority

• Windows NT implements a priority-driven, preemptive scheduling system.

• When a thread is selected to run, it runs for an amount of time called a Quantum.

• Typically the default Quantum on a multiprocessor Pentium server is 180 msec.

• Normally, each time a thread completes it's time slice, the value of it's Quantum is decremented by one and continues until it reaches zero where it is then reset to it's specified value.

Page 36: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

NT Scheduler & Thread Priority

• This can result in an uneven allocation of CPU resources for similar transactions in the same application.

• An NT process can be designated as “real-time,” where the threads associated with that process do not have the value of their Quantum decremented

• Care must be exercised because you can deny CPU resources to the non real-time processes on your server.

Page 37: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Processor Affinity

• In a multiprocessor environment a thread will typically execute on any available processor. For a cpu intensive thread this may not be the most efficient means of execution.

• Each processor has its' own L1 and L2 cache. Should a thread execute on a processor other than the last, then most likely the cache for this thread will have to be refreshed.

• Windows NT provides the facilities for limiting the processors on which a thread is allowed to run. This is called processor affinity.

Page 38: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Processor Affinity

• It should only be employed on cpu intensive threads, such as a DBMS.

• It can also be used to segregate the execution of two applications sharing the same server.

• Processor affinity can have a negative effect of increasing system overhead. You should experiment with it before using it in a production environment.

Page 39: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Registry Settings

• There are several registry settings that can dramatically impact your servers performance

• A high cache hit ratio is vital to the performance of your NT server. There is an L2 cache setting in the Win NT registry

• To manually edit the registry,modify HKEY_LOCAL_MACHINES\System\CurrentControl Set\Control\SessionManager\MemoryManagement and change the SecondLevelDataCache key to the size of your second level cache.

Page 40: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Registry Settings

• IoPageLockLimit determines the number of pages NT will read or write to the hard disk at one time

• If you system performs a significant number of physical I/O’s then raising this limit may improve the throughput of your disk subsystem.

• To manually edit the registry, modify HKEY_LOCAL_MACHINES\System\CurrentControl Set\Control\Session Manager\Memory Management and change the IoPageLockLimit.

• The default is zero.

Page 41: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Registry Editor Sample

Page 42: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Validating Performance

• Employ benchmarking tools to provide an accurate assessment of your servers’ performance

• There are benchmarks for exercising server components, servers, and total systems

• Some software suppliers provide benchmarks for their application software

• Excellent source: www.benchmarkresources.com

Page 43: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Sources of Information

• The web is a great source of information. Most of the more prominent manufacturers have libraries of white papers on how to efficiently configure their servers

• There are too many sources and more are added each month. It's best to employ internet search engines to find information specific to your needs. However, one excellent site I recently discovered is: http://www.pureperformance.com

Page 44: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Sources of Information

• You might also try www.deja.com. It's a search engine for the Internet newsgroups. For example you might search newsgroups with the query:

• seagate AND (performance AND (problem OR tuning))

Page 45: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Sources of Information

• Six excellent books include:– Inside Windows NT (2nd Edition), David A. Solomon,

Microsoft Press– Optimizing Windows NT, Sean K. Daily, IDG Press– Tuning & Sizing NT Server, Curt Aubley, Prentice Hall– Windows NT Applications: Measuring and Optimizing

Performance, Paul Hinsberg, Macmillian Technical Publishing

– Windows NT Performance: Monitoring, Benchmarking, and Tuning

– Windows 2000 Performance Tuning Technical Reference, John Paul Mueller and Irfan Chaudhry, Microsoft Press

Page 46: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Summary Recommendations

• Intel based systems do not come out of the box optimized for performance. Obtain the necessary software utilities to display and change your chipset settings.

• Relatively small configuration changes can dramatically change the performance of your server, both positive and negative. PCI bus busy can appear from NT's performance monitor to be a CPU busy problem.

• You should balance the I/O workload across all of the PCI busses in your server.

Page 47: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Summary Recommendations

• What you don't know about your disk subsystem may be dramatically hurting your servers performance.

• You should employ both system and component benchmarks to baseline the performance of your server before and after making changes.

• There is adequate documentation available to walk you through a performance improvement project.

Page 48: Improving the Performance of Your Windows NT/2000 Server Gary Cline Enterprise Integration Corporation 6110 Executive Blvd, Suite 906 Rockville, Maryland.

Questions, Comments, or Experiences

• Should you have questions, comments, or want to share experiences you can contact me by the following methods:

• Telephone: 301-998-3262, fax 301-998-3241

• E-mail: [email protected]

• S-mail: 6110 Executive Blvd, Suite 906, Rockville, Md 20852

• Visit our web site at www.eicorp.net if only to obtain a magnetic copy of this and other presentations and papers.