Upload
melissa-reid
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Demand Technology Software, Inc.
Windows 2000 Performance and Tuning:
An UpdateDemand Technology Software
1020 Eighth Avenue South, Suite 6, Naples, FL 34102phone: (941) 261-8945 fax: (941) 261-5456
e-mail: [email protected]://www.demandtech.com
2Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows 2000
No major changes in the way the OS works!
Many minor, incremental improvements: Processor Memory File Cache I/O Networking
3Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Sysmon.OCX MMC snap-in replaces Per fmon
Many Sysmon enhancements, including fonts, and mult iple log data formats
Logical and Physical Disk % Idle Time Counter added.
100% - Idle Time = disk ut ilizat ion; mislabeled % Disk Time Counters are retained.
Per Process I/ O Counts added to Task Manager & Physical Disk Object
Requested by developers of analyt ic and simulat ion modeling packages. Unfortunately, the W in2K Counters t rack logical fi le requests, not necessar ily correlated with Physical Disk act ivity.
New Pr inter Queue measurements
Job Object with resource limits int roduced.
Intended to provide a means for IIS to throt t le runaway CGI scr ipts.
Windows NT evolution: new in Win2K
4Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows NT evolution: new in Win2K
W indows Measurement Inter face
Support for the W BEM standard. Provides an infrast ructure for integrated configurat ion, operat ions, and performance report ing tools. A ctually first int roduced in NT 4.0 with Service Pack 4, but not widely deployed.
New kernel Trace facility.
Provides the ability to t race page faults, I/ O requests, TCP requests, and other low level funct ions without hook ing the OS.
_Total instance of the Processor Object supercedes % Total Processor Time Counters in System Object
5Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows NT evolution: new in Win2K
Below Normal and Above Normal Pr ior ity Levels
Provides more choice in the dynamic range.
Two choices for the durat ion of the t ime-slice quantum.
Semant ics behind W in32Pr ior itySeparat ion changed again! Choose either Professional’s short t ime slice interval of Servers very long interval.
Queued Spin Locks enhance SMP scalability
Queued spin locks reduce internal processor bus content ion because threads no have to execute a busy wait .
Integrated support for Terminal Server Edit ion (TSE)
W inFrame was developed independent ly by Cit r ix for version 3.51. A fter purchasing the r ights from Cit r ix for version 4.0, TSE was integrated on top of exist ing NT 4.0 service packs. TSE adds two new per formance Objects, Session and User , plus some addit ional system and per process Counters.
6Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows NT evolution: new in Win2K
Network Monitor Driver replaces Network Monitor A gent
new Dr iver hooks the NDIS layer ; network monitor ing no longer relies on running the NIC card in promiscuous mode; eliminates overhead concerns, but you can no longer see the whole Network segment (on an unswit ched segment ).
TCP/ IP is now the nat ive network ing protocol in W indows 2000
DNS replaces W INS (st ill required to support NT 4.0 stat ions.
Improved TCP/ IP stack to support Gigabit Ethernet
Support for SA CK opt ion, Large Frames, etc.
7Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Microsoft Management Console
8Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows 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
9Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Win2K System Monitor
10Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Win2K 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
11Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Win2K 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.
12Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Processor performance monitoring
Object Counter Derivation Thread % Processor Time W in2K Scheduler calculates based on
the durat ion of the Running state
Process % Processor Time Thread % Processor Time
Processor n % Processor Time 100% - Idle Thread n % Processor Time
_Total Processor
% Processor Time Processor % Processor Time /
# of processors
System
(NT 3 & 4)
% Total Processor Time Processor % Processor Time /
# of processors
13Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Priority 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
System
Ze
r Page T
hre
ad
W in32BaseP r ior it y
No
rma
l
Be
low
Lo
we
st
Hig
he
st
Ab
ov
e
No
rmal
Be
low
Hig
he
st
Ab
ove
No
rmal
Be
low
Low
est
Ab
ove
No
rma
l
Be
low
Lo
we
st
Hig
he
st
Ab
ov
e
I d le
BelowN or m al
Realt im e
313029282726252423222120191817161514131211109876543210
Dynam ic R ange Realt ime R ange
Re
altime
Tim
e Critica
l
Re
altime
Tim
e Idle
Dy
nam
ic Tim
e C
ritical
Dy
na
mic Id
le
No
rma
l
Be
low
Lo
we
st
Hig
he
st
Ab
ov
e
No
rma
l
Be
low
Low
est
Hig
he
st
Ab
ov
e
N or m al
H igh
A boveN or m al
Lo
we
st/H
igh
est
Ready Queue
Windows 2000
15Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Priority Queuing/Preemptive Scheduling
Win2K Tuning parameter: Choose
between the Workstation and Server default time slice
16Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Priority Queuing/Preemptive Scheduling
Processor Time slice value: the quantum
17Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Win32PrioritySeparation
18Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Intel 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
19Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
W indows 2000 SMP Scalability
0
4
8
12
16
0 4 8 12 16
# of Processors
Rela
tiv
e P
erfo
rm
an
ce
NT 4 .0
Ideal
W in2K ?W in2K ??
20Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Intel Architecture (IA-32)
Pentium II,III, and IV remain backward compatible with Pentium Pro
Improved multiprocessing Improved graphics processing
MMX SIMD in Pentium III
21Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Intel 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
22Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Virtual 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
User
System
0000 0000
bfff ffff16
ffff ffff16
Extended
23Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Win64 Virtual Memory
Architectural component 64 bit 32 bit
Virtual Memory 16TB 4GB
Paging File Size 512TB 16TB
Hyperspace 8GB 4MB
Paged Pool 128GB 470MB
Non-paged Pool 128GB 256GB
System cache 1TB 1GB
System PTE (page table entries) 128GB 660MB
24Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Virtual 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
25Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
1100010011 0000011010 000001101100
Virtual address translation
Page tableSelector
Page tableentry
byte offset
Control Register 3
Page Directory
private
system
10000
7FFEFFFF
C0000000C1000000
E0000000FFFFFFFF
Page tables
System data cache
Paged system pool
(offset of per process Page Table)
Page Tables Physical pages
Paging fi le
(invalid)
Windows 2000 File cache
512 MB file cache, plus a 440 MB overflow area
960 MB total!
26Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows 2000 Cache Manager
Sets the value of LargeSystemCache
27Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Win2K Cache Manager
LargeSystemCache sets the System working set size to RAM – 25%
28Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows 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
Disk Driver
Quotas
I/ O Manager
File System Drivers
FAT32 NTFSFAT16 CDFS
Filter Drivers
HSM
Filt er Drivers
Encrypt ion
SCSI minport Driver
Win2K:
29Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Disk performance monitoring
Diskperf – Win2K disk performance statistics Diskperf installed by default for
Physical disk monitoringdiskperf -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
Disk Driver
NTFS
Ftdisk
SCSI minport Driver
Disk Performance Stat ist ics
Disk Performance Stat ist ics
Diskperf -y
Diskperf -yediskperf -yd
diskperf -yv
30Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Disk performance monitoring
Idle time accumulates in diskperf when there are no outstanding requests!
Disk Driver
NTFS
SCSI minport Driver
Diskper f
IRP
T1
12369T2
12369
T -T =Disk t ime2 2
Queued request
Queued request
Queued request
If no requests outstanding,set Idle Time clock, T2 Idle Time = T1 - T2
31Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Disk performance monitoring
32Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Disk 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
33Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
New Win2K per process I/O Counters
34Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
35Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
NTFS 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
36Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Diskeeper Lite built into Win2K
37Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows 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
38Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Windows 2000 networking
TCP UCP
IP
ICMP IGMP IP Filtering
ARP
IP Forwarding
Packet Scheduler
NDIS Wrapper
NDIS miniport NIC device driver
NetBT
Redirector Server
Named Pipes
RPC DCOM Windows Sockets
NDIS
TDI
Kernel Mode
User Mode
Applicat ion Interfaces
NetBIOS
39Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Ethernet 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
Connection handshaking (Win2K defaults).
41Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Ethernet 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!
42Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
The Impact of Frame Size on Gigabit Ethernet performance
409
602
0
100
200
300
400
500
600
700
1518 9018
Frame Size (bytes)
Mb
ps
0
20
40
60
80
100
Uti
lizati
on
%
Thruput Server CPU
Source: Alteon Computers
43Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Gigabit 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
44Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Gigabit 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.
45Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Gigabit Ethernet performance Windows 2000 support
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
<interface-name>
MaximumFrameSize = 9014 /* use jumbo frames NumberOfReceiveBuffers = 100/* use memory if you
need itNumberofTransmitBuffers = 100 /* dittoMaxIRQperSec = 2500 /* interrupt coalescing
/* and moderation
46Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Job 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
47Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Win2K 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.
Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update 48
Win2K file server performance
improvements.
6
7
8
9
10
11
12
50 MB 100 MB 200 MB 400 MB 800 MB
NT 4 - 128 MB NT 4 - 512 MB
W2K, RC3 - 128 MB W2K, RC3 - 512 MB
MB
Tra
ns
ferr
ed
/ S
ec
on
d
Dataset Size
Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update 49
Win2K file server performance
improvements.
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
50 MB 100 MB 200 MB 400 MB 800 MB
NT 4 - 128 MB NT 4 - 512 MBW2K, RC3 - 128 MB W2K, RC3 - 512 MB
Se
co
nd
s
Dataset Size
50Demand Technology Software, Inc. Windows 2000 Performance and Tuning: An Update
Where 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