DABCC, Inc. &
Premitech
DABCC, Inc. &
Premitech
Agenda
Agenda
Troubleshooting Network Performance Issues
Items that affect Slow logons
Introduction to Performance Guard from Premitech
Citrix Print Process
Printer Auto-creation Flow (client side)
Printer Auto-creation Flow (server side)
Introduction to Advanced Print Manager from
DABCC
Troubleshooting Network Performance Issues
Items that affect Slow logons
Introduction to Performance Guard from Premitech
Citrix Print Process
Printer Auto-creation Flow (client side)
Printer Auto-creation Flow (server side)
Workshop Agenda?
Workshop Agenda?
Common issues relating to sluggish performance
1.
Page File
2.
Disk
3.
Processor
4.
Registry
5.
Slow Login times
Common issues relating to sluggish performance
1.
Page File
2.
Disk
3.
Processor
4.
Registry
Windows Page File
What is it and how do I manage it?
Windows Page File
What is it and how do I manage it?
The Windows page file is an interesting beast
that is very much misunderstood
First lets clear up a few common
misconceptions:
1.
If you have RAM to spare then the page file is NOT used?
False
! Even if you have more RAM than once would ever use
Windows still writes a portion of memory to the page file, per user.
2.
Windows is smart enough to only use one copy of an .exe or .dll file
per system?
False
! The Windows page file uses a technology called
“copy-on-write” that each time a users loads and application it loads a version
of the .exe and the .dll into memory and hence back to the page file.
If a another user loads the same application then another copy of
the .exe and associated .dll’s are loaded to memory and page file.
This becomes a nightmare.
The Windows page file is an interesting beast
that is very much misunderstood
First lets clear up a few common
misconceptions:
1.
If you have RAM to spare then the page file is NOT used?
False
! Even if you have more RAM than once would ever use
Windows still writes a portion of memory to the page file, per user.
2.
Windows is smart enough to only use one copy of an .exe or .dll file
per system?
Windows Page File
What is it and how do I manage it?
Windows Page File
What is it and how do I manage it?
The “best practice” for setting a page file in a
Terminal Services world is around 1.5 to 2.0 times the
amount of physical RAM.
To view the Page File usage you can monitor the
following counter:
–
Paging File | % Usage | _Total
If you find you the system is paging a lot you can
1.
Add more physical memory
2.
Store the Page file on its own SCSI channel and drive
–
Consider using a solid state memory drive (www.TiGicorp.com)
–
3
rdParty tools (RTO Software’s TScale 3.0 - www.rtosoft.com)
–
Make sure the page file has enough room and is not being required to
grow. It is recommend to set the page file anywhere between 1.5 and
2.5 times the amount of physical RAM in the system.
The “best practice” for setting a page file in a
Terminal Services world is around 1.5 to 2.0 times the
amount of physical RAM.
To view the Page File usage you can monitor the
following counter:
–
Paging File | % Usage | _Total
If you find you the system is paging a lot you can
1.
Add more physical memory
2.
Store the Page file on its own SCSI channel and drive
–
Consider using a solid state memory drive (
www.TiGicorp.com
)
–
3
rdParty tools (RTO Software’s TScale 3.0 -
www.rtosoft.com
)
–
Make sure the page file has enough room and is not being required to
Drive Subsystem
Do I have a bottleneck?
Drive Subsystem
Do I have a bottleneck?
Local HDD only contains system files and
executables
Application data is best stored on SAN, NAS
or just a plane old file server
To view if the drive subsystem is the problem
you will want to monitor the following
counters:
–
Physical Disk | % Disk Time
–
This counter shows you how busy your server’s hard
drives are. A value of 100% would indicate that the disks
are 100% busy, meaning that you might need faster disks,
more memory, or fewer users.
Local HDD only contains system files and
executables
Application data is best stored on SAN, NAS
or just a plane old file server
To view if the drive subsystem is the problem
you will want to monitor the following
counters:
–
Physical Disk | % Disk Time
–
This counter shows you how busy your server’s hard
Drive Subsystem
Do I have a bottleneck?
Drive Subsystem
Do I have a bottleneck?
–
Physical Disk | Current Disk Queue Length
–
If your % Disk Time counter is at or near 100, you will want
to monitor this counter. It will tell you how many disk
requests are waiting because the disk is too busy.
–
What to do if you find HDD to be the bottleneck?
–
Get faster drives (10k or 15k)
–
New RAID controller (more on board cache)
–
Solid state RAM HDD
–
Tweak the cache configuration on your RAID card.. .50 read / 50
write is best.
–
Physical Disk | Current Disk Queue Length
–
If your % Disk Time counter is at or near 100, you will want
to monitor this counter. It will tell you how many disk
requests are waiting because the disk is too busy.
–
What to do if you find HDD to be the bottleneck?
–
Get faster drives (10k or 15k)
–
New RAID controller (more on board cache)
–
Solid state RAM HDD
–
Tweak the cache configuration on your RAID card.. .50 read / 50
Processor?
Do I have a bottleneck? How do I manage it?
Processor?
Do I have a bottleneck? How do I manage it?
Processor | % Processor Time | _Total
–
This counter shows how busy the processors are.
–
If it pegs at 100% then you will want to verify you do not have
a memory bottleneck and or that the page file is being used to
heavily before you go out an buy faster or more processors
System | Processor Queue Length
–
This counter shows how many requests are backed up while
they wait for the processor to get freed up to service them.
Disable “features” that chew up resources.
–
Windows Luna support
–
Windows “fancy” graphics
–
Office background spell checking
–
Many more…
Processor | % Processor Time | _Total
–
This counter shows how busy the processors are.
–
If it pegs at 100% then you will want to verify you do not have
a memory bottleneck and or that the page file is being used to
heavily before you go out an buy faster or more processors
System | Processor Queue Length
–
This counter shows how many requests are backed up while
they wait for the processor to get freed up to service them.
Disable “features” that chew up resources.
–
Windows Luna support
–
Windows “fancy” graphics
–
Office background spell checking
Slow Logon Times
What can be done?
Slow Logon Times
What can be done?
How long does it take your users to logon?
What is a slow logon?
What is a responsible expectation?
What factors affect login time?
What steps can we take to speed up the
process?
How long does it take your users to logon?
What is a slow logon?
What is a responsible expectation?
What factors affect login time?
Slow Logon Times
How long does it take your users to logon?
Slow Logon Times
How long does it take your users to logon?
Are your end users complaining about slow
logons?
How do you find out how long it takes them to
truly logon?
–
Stopwatch?
–
Trust the end-user?
–
Premitech Performance Guard!
Are your end users complaining about slow
logons?
How do you find out how long it takes them to
truly logon?
–
Stopwatch?
–
Trust the end-user?
Concurrent Users & Login times
Top 10 hotspots (this case: worst
logins)
Top 10 hotspots (this case: worst
logins)
Login
time
(ms)
Start time
End time
Nam
e
Domai
n
Client IP
Init App.
16171 04-03-2004 19:42:02 04-03-2004 20:12:25 CNI DK 172.20.99.19 icast.exe w:\lotus\notes\notesstart.exe dkclu00004 %username% w
14640 05-03-2004 11:37:19 05-03-2004 11:40:38 ASJ DK 172.20.99.2 icast.exe "v:\program files\internet explorer\iexplore.exe"
11562 08-03-2004 19:53:19 08-03-2004 21:19:26 metm DK 172.20.99.23 icast.exe w:\lotus\notes\notesstart.exe dkclu00004 %username% w
Slow Logon Times
What is a slow logon?
Slow Logon Times
What is a slow logon?
Logon times will very from company to
company and end-user to end-user
There is not a hard set rule on how fast or
slow a logon should be… The best thing we
can do is follow the following best practices
and set the proper expectations!
Logon times will very from company to
company and end-user to end-user
There is not a hard set rule on how fast or
Slow Logon Times
What is a responsible expectation?
Slow Logon Times
What is a responsible expectation?
Perception is reality but reality cannot be
changed only set with the proper
expectations.
Logon times will vary from user to
end-user
Logon times will vary from Terminal Services
server to Citrix MetaFrame Presentation
Servers
Perception is reality but reality cannot be
changed only set with the proper
expectations.
Logon times will vary from user to
end-user
Logon times will vary from Terminal Services
server to Citrix MetaFrame Presentation
Slow Logon Times
What factors contribute to them?
Slow Logon Times
What factors contribute to them?
Logon times are affected by the following
items.
1.
Citrix vs. Terminal Services
2.
Profiles
3.
Login scripts
4.
Applications that are loading during logon
Logon times are affected by the following
items.
1.
Citrix vs. Terminal Services
2.
Profiles
3.
Login scripts
Slow Logon Times
What factors contribute to them?
Slow Logon Times
What factors contribute to them?
Based on the items that can affect an
end-users logon time an administrator needs to
step through them and follow the following
best practices
Does it take the same amount of time on a TS
box as a MPS box?
–
If so then you will need to dive deeper as the slowness is not
related to either TS and or MPS.
–
If not then you will need to dive deeper into the differences
between TS and MPS.
Based on the items that can affect an
end-users logon time an administrator needs to
step through them and follow the following
best practices
Does it take the same amount of time on a TS
box as a MPS box?
–
If so then you will need to dive deeper as the slowness is not
related to either TS and or MPS.
–
If not then you will need to dive deeper into the differences
Slow Logon Times
Features of MPS to be aware of
Slow Logon Times
Features of MPS to be aware of
Terminal Services keeps getting better but
Presentation Server still adds WAY more
value!!!
The following additional items are part of a
MPS login and in return could slow the
perception of logon.
–
Time zones support
– Slows down a login time considerably. If
you have end-users that will be roaming from zone to
time-zone then it is best to use the Citrix Policy to enable time time-zone
support
–
Printers
–client printers are auto-created during logon. Each
printer will need to be analyzed and auto-created during logon.
This takes time! It is recommended to set MPS to auto-create
printers in the background in order to allow end-user to get to work
quicker.
Terminal Services keeps getting better but
Presentation Server still adds WAY more
value!!!
The following additional items are part of a
MPS login and in return could slow the
perception of logon.
–
Time zones support
– Slows down a login time considerably. If
you have end-users that will be roaming from zone to
time-zone then it is best to use the Citrix Policy to enable time time-zone
support
–
Printers
–client printers are auto-created during logon. Each
Slow Logon Times
Features of MPS to be aware of
Slow Logon Times
Features of MPS to be aware of
The following additional items are part of a
MPS login and in return could slow the
perception of logon.
–
Client Drives –
By default all local client drives are auto-created
during logon. Depending on the number of client drives you will
want to auto-create only what is needed. This can be done by
auto-creating only:
–
Local drives
–
Network drives
–
CDROM
–
Floppy
–
Citrix Policies is the best way to define what client drives are to
be auto-created and from whom.
The following additional items are part of a
MPS login and in return could slow the
perception of logon.
–
Client Drives –
By default all local client drives are auto-created
during logon. Depending on the number of client drives you will
want to auto-create only what is needed. This can be done by
auto-creating only:
–
Local drives
–
Network drives
–
CDROM
–
Floppy
–
Citrix Policies is the best way to define what client drives are to
Slow Logon Times
Features of MPS to be aware of
Slow Logon Times
Features of MPS to be aware of
The following additional items are part of a
MPS login and in return could slow the
perception of logon.
–
COM & LPT ports –
by default MPS analyzes and auto-connects
any devices connected to COM and or LPT ports. Unless you
are using a device requiring one of those ports then it is a best
practice to disable it.
Citrix Policies are the best way to define what client drives are to
be auto-created and from whom.
Use the SMC Console found in the Citrix Server SDK –
www.citrix.com/cdn
The following additional items are part of a
MPS login and in return could slow the
perception of logon.
–
COM & LPT ports –
by default MPS analyzes and auto-connects
any devices connected to COM and or LPT ports. Unless you
are using a device requiring one of those ports then it is a best
practice to disable it.
Citrix Policies are the best way to define what client drives are to
be auto-created and from whom.
Use the SMC Console found in the Citrix Server SDK –
Slow Logon Times
Profiles
Slow Logon Times
Profiles
A profile exists for all users logging it to a
Terminal Services box and in most cases
slow logons are caused by large and
unmanaged profiles.
Decide upon what the best type of profile is
for your environment
–
Mandatory
–
Roaming
–
Hybrid
–
Flex
A profile exists for all users logging it to a
Terminal Services box and in most cases
slow logons are caused by large and
unmanaged profiles.
Decide upon what the best type of profile is
for your environment
–
Mandatory
–
Roaming
–
Hybrid
What to do about slow logon times?
Profiles
What to do about slow logon times?
Profiles
Verify the size of a users profile
Verify what information is being stored in a
profile. Some of the common items that chew
up a lot of space are:
–
Temporary Internet Files
–
Temp files
–
Desktop data
–
My Documents
Microsoft Active Directory item direction
works great for addressing these issues
(found as a GPO)
Verify the size of a users profile
Verify what information is being stored in a
profile. Some of the common items that chew
up a lot of space are:
–
Temporary Internet Files
–
Temp files
–
Desktop data
–
My Documents
What to do about slow logon times?
Profiles
What to do about slow logon times?
Profiles
Look into 3
rd
party profile replacements:
–
Simplify Profile (RegSet) – from triCerat, Inc.
http://www.tricerat.com
–
Flex Profile – Log.In Constants
http://www.loginconsultants.nl
–
Custom solution – Citrix Consulting Services
Contact your local Citrix partner or visit the Citrix Consulting Booth
Use Microsoft’s User’s Profile Hive Cleaner
(UPHClean) to remove stuck profiles from the
users registry
Look into 3
rd
party profile replacements:
–
Simplify Profile (RegSet) – from triCerat, Inc.
http://www.tricerat.com
–
Flex Profile – Log.In Constants
http://www.loginconsultants.nl
–
Custom solution – Citrix Consulting Services
Contact your local Citrix partner or visit the Citrix Consulting Booth
What to do about slow logon times?
Programs Launching at Startup
What to do about slow logon times?
Programs Launching at Startup
Identify applications and services being
started during logon:
–
Key: HKLM\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Winlogon\
Value: AppSetup
Data: This is a comma-separated list of executables that run
at session startup
–
Key: HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Value: The name of a program to run
Data: The path of the program to run
–
Startup folder for both user and all users
Identify applications and services being
started during logon:
–
Key: HKLM\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Winlogon\
Value: AppSetup
Data: This is a comma-separated list of executables that run
at session startup
–
Key: HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Value: The name of a program to run
Data: The path of the program to run
What to do about slow logon times?
Login Scripts
What to do about slow logon times?
Login Scripts
Login script – Over time login scripts can
become big, cumbersome and littered with a
slew of conditionals that can slow down a
users login considerably.
It is a best practice to go through all login
scripts and consolidate what is possible and
remove what is not needed!
Login script – Over time login scripts can
become big, cumbersome and littered with a
slew of conditionals that can slow down a
users login considerably.
It is a best practice to go through all login
Performance Guard®
Performance Guard®
End user PCs connecting via ICA Client
Citrix MetaFrame Windows 2000/3
Back end systems
Performance data Latency,
Round Trip Deviation, Bytes Sent/Received
…
Response Time, Request per Second, Sent/Received Bytes, Connections Resent
….
Performance Guard Citrix
Architecture
Process Information
Process Information
Standard Measurements
Latency
Roundtrip Deviation
Sent / Received Bytes
Received / Sec
Login time
User Session Information
Backend Response Time
Error Transmissions
Process Information
CPU
Memory
Thread
Disk Read / Write I/O
Features
Alarms
Top 10
SLA Reports
Trends
History
Performance Guard at Work
Network problems
Response time elevated
for both applications
Application problems
Comparison Across Locations
SAP Fat vs. Thin Client
SAP Fat vs. Thin Client
Blue is SAP accessed form the web client
Top 20 Server Traffic help with Load
Balancing
Concurrent Users & Sent Bytes
Citrix Server CPU Ulitization
Response time vs. # of requests
ERP Users Experiencing Response
Times of 50 ms
Citrix Users Experiencing Response
Times below 50 ms
Ongoing SLA Monitoring / Application
Utilization
A Close look at Citrix
Autocreated Printers
ICA Printing Virtual Channel
ICA Printing Virtual Channel
ICA
Transport
Protocol
Client Printer Mapping
Client Drive Mapping
ICA Display
Client LPT Port Mapping
Downstream Audio
ICA
Protocol
can
support
for up to
32 virtual
channels
Printing over ICA uses a unique virtual channel
Printer Definitions
Printer Definitions
Auto-created
(Requires the client network)
–
Locally Attached
–
Info stored in HKLM
–
Locally Defined
–
Info stored in the user’s profile
Autoconnected
–
Imported print queues assigned to users
–
Retained in the data store
Manually Mapped
–
Mapped from inside the session
–
Retained in the users’ profile
–
HKCU/Printers/Connections
Auto-created
(Requires the client network)
–
Locally Attached
–
Info stored in HKLM
–
Locally Defined
–
Info stored in the user’s profile
Autoconnected
–
Imported print queues assigned to users
–
Retained in the data store
Manually Mapped
–
Mapped from inside the session
Printer Autocreation
Printer Autocreation
•
Server Requests the printer
information
•
Wfica indexes and enumerates
the client’s printer information.
•
The ICA virtual channels are
used to communicate with the
server. (CTXCTL)
SD
SD
ESC
DLT
Printer Autocreation: Client Side
Printer Autocreation: Client Side
The basic questions MPS needs to be answered……
–
What port?
–
Printer name?
–
Which print driver?
Answered by Wfica(ICA client engine)
The basic questions MPS needs to be answered……
–
What port?
–
Printer name?
–
Which print driver?
Printer Autocreation: Client Side
Printer Autocreation: Client Side
Printer User Interface (on local client)
–
Locally Attached
– Black Ice PDF Writer – Canon Bubble-Jet – Panasonic KX-P6500–
Locally Defined
Printer Autocreation: Client Side
Printer Autocreation: Client Side
Auto-created
(Requires the client network)
–
Locally Attached
–
Info stored in
Printer Autocreation: Client Side
Printer Autocreation: Client Side
Auto-created
(Requires the client network)
–
Locally Defined
Printer Autocreation: Server Side
Printer Autocreation: Server Side
Session Initialization Autocreated Printers Allowed? Approved? OR Mapped?
Driver Match in
Registry? Silent Install? Organized Printer Data Printer Already Exist? Build Print Queue Additional Printers? End Process NO NO NO NO YES YES YES NO YES YES NO
Complete Auto-creation process!
FR2
–
A driver can only be mapped OR
restricted.
FR3 & MPS3
–
A print driver can be restricted
AND
M
apped
Printer Autocreation: Server Side
Printer Autocreation: Server Side
Client informs the server what virtual
channels it supports.
Wfshell: IMA flags are checked
–
Per server or per farm restrictions
–
Check for Feature Release license
Ctxlogon:
–
Asynchronous or Synchronous
Wfshell:
–
List the client side printers
–
Get the user’s SID
Client informs the server what virtual
channels it supports.
Wfshell: IMA flags are checked
–
Per server or per farm restrictions
–
Check for Feature Release license
Ctxlogon:
–
Asynchronous or Synchronous
Wfshell:
–
List the client side printers
–
Get the user’s SID
Printer Autocreation: Server Side
Printer Autocreation: Server Side
Wfshell:
–
Checks to see if the printer is allowed
–
Determines if printer info resides in Profile
–
Checks for the printer in HKLM\CCS\Cntrl\Print\
Printers
–
Calls are made to build the printer
Cdmprov.dll: Calls into Spoolsv.exe
–
Locates the server driver
–
Checks for mapping
–Checks for native driver
Wfshell:
–
Checks to see if the printer is allowed
–
Determines if printer info resides in Profile
–
Checks for the printer in HKLM\CCS\Cntrl\Print\
Printers
–
Calls are made to build the printer
Cdmprov.dll: Calls into Spoolsv.exe
–
Locates the server driver
–
Checks for mapping
–
Checks for native driver
Printer Autocreation: Server Side
Printer Autocreation: Server Side
Driver Match in
Registry?
Silent Install?
Build Print
Queue
NO
YES
Cdmprov.dll: Calls into Spoolsv.exe
–
Locates the server driver
–
Registry HKLM\CCS\CNTRL\Print\Environments\Windows NT x86\Drivers\Version-3\
printer model name
–
Silent Install
Printer Autocreation: Server Side
Printer Autocreation: Server Side
•
With FR3 & MPS 3.0 you can disable the silent install process
Try avoiding version-2 kernel mode drivers
Give users write access to %systemroot%\system\spool to
handle third-party printer drivers that are not 100% TS aware
NEVER install untested printer drivers on a production
server/farm
Do not install ALL native printer drivers on the server (unneeded
growth of the datastore, and will slow down logon performance)
Use mappings when available
Use UPD when at all possible
Scheduled spooler restart and spool dir cleanup during server
reboot is fighting problem symptoms, not the problem source
Try avoiding version-2 kernel mode drivers
Give users write access to %systemroot%\system\spool to
handle third-party printer drivers that are not 100% TS aware
NEVER install untested printer drivers on a production
server/farm
Do not install ALL native printer drivers on the server (unneeded
growth of the datastore, and will slow down logon performance)
Use mappings when available
Use UPD when at all possible
Scheduled spooler restart and spool dir cleanup during server
reboot is fighting problem symptoms, not the problem source
Best Practices on Keeping a Stable Spooler
Advanced Print Manager™
Terminal Services Printer Driver Management
Advanced Print Manager™
Terminal Services Printer Driver Management
Advanced Print Manager™
Terminal Services Printer Driver Management
Advanced Print Manager™
Terminal Services Printer Driver Management
Complete Printer
Driver error
monitoring and
mapping solution
Perform in minutes
what can take hours
or even days
Designed to monitor
the following
solutions:
–
Citrix® MetaFrame®
Presentation Server
–
Microsoft® Windows®
Terminal Services
Complete Printer
Driver error
monitoring and
mapping solution
Perform in minutes
what can take hours
or even days
Designed to monitor
the following
solutions:
–
Citrix® MetaFrame®
Presentation Server
–
Microsoft® Windows®
Advanced Print Manager™
Terminal Services Printer Driver Management
Advanced Print Manager™
Terminal Services Printer Driver Management
“Heck, this is my presentation and I can do what I
want and now I want to not bore you with any
more PowerPoint so I will show you the goods…”
- Douglas Brown
“Heck, this is my presentation and I can do what I
want and now I want to not bore you with any
Advanced Print Manager™
Terminal Services Printer Driver Management
Advanced Print Manager™
Terminal Services Printer Driver Management
On Sale NOW!
For sales & pricing
information please
email:
and or visit:
www.dabcc.com/apm
On Sale NOW!
For sales & pricing
information please
email:
and or visit:
www.dabcc.com/apm
To download an evaluation please
Any Questions?
Any Questions?