Title: Windows 2000 Performance and Tuning: An Update
1Windows 2000 Performance and Tuning An Update
- Demand Technology Software
- 1020 Eighth Avenue South, Suite 6, Naples, FL
34102 - phone (941) 261-8945 fax (941) 261-5456
- e-mail markf_at_demandtech.com
- http//www.demandtech.com
2Windows 2000
- No major changes in the way the OS works!
- Many minor, incremental improvements
- Processor
- Memory
- File Cache
- I/O
- Networking
3Windows NT evolution new in Win2K
4Windows NT evolution new in Win2K
5Windows NT evolution new in Win2K
6Windows NT evolution new in Win2K
7Microsoft Management Console
8Windows 2000 System Monitor
- Most powerful, general-purpose tool bundled into
Win2K by Microsoft - real-time
- exceptions
- log data to a file
- can monitor machines remotely
9Win2K System Monitor
10Win2K System Monitor
- New in Windows 2000
- Font support
- Logging of individual Counters by instance name
- Graphing options for summary statistics
- Separate GUI and collector (service) apps
- Legend is now a grid (sizable column sort)
- y-axis can be labeled
- Some file management
- Multiple logging formats
11Win2K System Monitor
- Unchanged in Windows 2000
- Summary statistics still miscalculated
- Process that starts later cannot be selected
- no x-axis time scale
- No printer support
- etc.
12Processor performance monitoring
13Priority Queuing/Preemptive Scheduling
- Win32 API supports six Process Base priority
levels (SetPriorityClass) - Realtime Priority Level 24
- High Priority Level 13
- Above Normal Priority Level 10
- Normal Priority Level 8
- Below Normal Priority Level 6
- Idle Priority Level 4
14Windows 2000
15Priority Queuing/Preemptive Scheduling
- Win2K Tuning parameter
- Choose between the Workstation and Server default
time slice
16Priority Queuing/Preemptive Scheduling
- Processor Time slice value the quantum
17Win32PrioritySeparation
18Intel Multiprocessing
- Win2K further re-engineered for multiprocessing
- Queued spin locks reduce bus contention
- NT 5.0 scalability may approximate 90 or better
- Pentium III features 133 MHz memory bus
integrated L2 cache - 16x and 32x multiprocessors planned
19(No Transcript)
20Intel Architecture (IA-32)
- Pentium II,III, and IV remain backward compatible
with Pentium Pro - Improved multiprocessing
- Improved graphics processing
- MMX
- SIMD in Pentium III
21Intel 786 IA-64 architecture
- Itanium 800 MHz and higher
- .013 micron fabrication process
- EPIC Explicitly Parallel Instruction Execution
- Explicit parallelism
- Predication
- Speculation
- Massive Resources
- 10 GHz by 2010
22Virtual Memory Manager
- Windows 2000 - Address Windowing Extensions (AWE)
- Above 4 GB -
- Intel Pentium III, IV
- requires PSE36 Driver
- Real addresses only
- Addresses 4 GB not backed on paging files
- PTEs remain 32-bit
23Win64 Virtual Memory
24Virtual Memory Manager
- Memory allocation Counters
- Available Bytes
- Available KBytes
- Available MBytes
- Pool non-paged Bytes,
- Pool Paged Resident Bytes,
- System Cache Resident Bytes,
- System Code Resident Bytes,
- System Driver Resident Bytes
25Windows 2000 File cache
- 512 MB file cache, plus a 440 MB overflow area
- 960 MB total!
26Windows 2000 Cache Manager
- Sets the value of LargeSystemCache
27Win2K Cache Manager
- LargeSystemCache sets the System working set size
to RAM 25
28Windows NT I/O Manager
- Layered driver model
- Conceptually, similar to the stack used in
network processing - Installable file systems
- supports both synchronous and asynchronous I/O
Win2K
29Disk performance monitoring
- Diskperf Win2K disk performance statistics
- Diskperf installed by default for Physical disk
monitoring - diskperf -yd
- Still requires a system restart to enable Logical
Disk statistics (including Free Space) - diskperf -yv
- Instance names shows physical volumes included in
a software RAID stripe set
30Disk performance monitoring
If no requests outstanding, set Idle Time clock,
T2
Idle Time T1 - T2
- Idle time accumulates in diskperf when there are
no outstanding requests!
31Disk performance monitoring
32Disk performance monitoring
- Idle time accumulates in diskperf when there
are no outstanding requests! - Calculate Disk busy 100 - Idle time
- Calculate Disk Service time Disk busy / Disk
transfers/sec - Calculate Disk Queue time Avg. Disk
secs/transfer - Disk service time
33New Win2K per process I/O Counters
34(No Transcript)
35NTFS for Win2K
- For the first time, MS is developing applications
that require NTFS - new version of Index Server replaces FindFast
- new Change Journal use NTFS sparse file format
- NTFS for Win2K is not entirely backward-compatible
with NT 4.0 - Master File Directory entries reduced from 4K to
1K - NT 4.0 SP4 has a new version of ntfs.sys
36Diskeeper Lite built into Win2K
37Windows 2000 networking
- Win2K contains standard TCP/IP protocol stack!
- NetBT (or NBT)
- NetBEUI over TCP/IP
- NDIS (Network Device Interface Specification)
- Standardized NIC driver support across Windows 9x
and Windows NT/2000 - ProcessorAffinityMask parameter confines
interrupts to a single processor on SMPs - NDIS miniport driver supplied by the Network
Interface Card (NIC) adpater manufacturer
38Windows 2000 networking
39Ethernet measurements
- NIC sees all packets
- Destination address
- Source address
- Normally, only acts on broadcast packets and
packets that match its MAC address - Promiscuous mode
- Interrupts host for all packets
- Win2K Network Monitor driver hooks NDIS layer
40Connection handshaking (Win2K defaults).
41Ethernet performance
- Improving Ethernet performance
- Switched Ethernet
- dedicated link capacity
- 100 Mb Ethernet
- Utilize existing wiring
- Improved throughput
- Gigabit Ethernet
- Emerging technology e.g., Win2K support for
jumbo frames - Good choice for high speed backbones
- Requires fiber!
42Source Alteon Computers
43Gigabit Ethernet performance
- PC architecture
- PCI 2.1 66 MHz 64 bits 528 MB/sec
- Servers built with multiple PCI bus
- Jumbo frames incompatible with other Ethernets
- Dedicated backbone
- Support for VLAN virtual LAN boundaries
44Gigabit Ethernet performance
- Windows 2000 support
- PMTU dynamic path MTU discovery
- Scalable Window supports TCP windows sizes 64K
- Selective Acknowledgement (SACK)
- NDIS miniport driver support
- Enable Jumbo Frames
- Set Jumbo Frame Size
- Allocate Buffer Queue
- etc.
45Gigabit Ethernet performance
- Windows 2000 support
- HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Param
eters\Interfaces\ -
-
- MaximumFrameSize 9014 / use jumbo frames
- NumberOfReceiveBuffers 100 / use memory if you
need it - NumberofTransmitBuffers 100 / ditto
- MaxIRQperSec 2500 / interrupt coalescing
/ and moderation
46Job Object
- Will Job Object controls help in the future?
- Job Objects enforce various resource limits
- User time execution limits
- static dispatching priorities
- Range of time-slice values
- But you must write a program to CreateJobObject,
SetInformationJobObject, AssignProcessToJobObject,
and monitor the execution of processes assigned
to Jobs - E.g., IIS launching CGI scripts
47Win2K Job Object
- New APIs to define resource-limited Jobs and
assign processes to Jobs. - Resource tracking in new performance Objects.
- Designed for CGI scripts spawned as separate
processes by IIS - Poorly written scripts can loop, have memory
leaks, etc.
48Win2K file server performance improvements.
49Win2K file server performance improvements.
50Where to get more information
- Microsoft Windows 2000 Resource Kit
- Inside Windows 2000
- by David Solomon and Mark Russinovich
- TechNet or the Microsoft Developer Network (MSDN)
CD