Reloaded for the latest IBM Notes version, join Daniel Reimann, Director Technical Account Management US, and find out how to make the IBM Notes client faaaast and consistent! Learn how to debug the client, deal with outdated ODS', understand network latency and more to provide measurable benefit to your users. Gather best practices on how to streamline location and connection documents and why the catalog.nsf is so important.Improve your IBM Notes client installations to provide a better experience for your users! As a special bonus, Daniel will show you how to reduce the startup time of virtualized IBM Notes Clients (Citrix / VMware / etc) by up to 70%!
3. MWLUG 2017
Moving Collaboration Forward
@panareima
#MWLUG2017
Introduction
• Daniel Reimann – Director Technical Account Management, US
– 17 years with Notes / Domino
– Focus on optimizing and transforming collaboration
landscapes
– German, lives in Boston, MA
– there will be an accent … ☺
– and I never had to delete my cache.ndk!
• Thanks to Chris Adler for many updates in here!
4. MWLUG 2017
Moving Collaboration Forward
@panareima
#MWLUG2017
Notes is not dead – at least until Sept. 2021
• IBM Notes and Domino V9.0.1 extends support and enhances
its collaboration toolset with social capabilities from IBM
Connections V5.5
• Link:
https://tinyurl.com/NotesIsNotDead
7. IBM Notes 9.0.1 Fix Pack 8 Interim Fix 1
~35.000 files (Notes 6/7 | 8/9 Basic used to have ~550) = +6.300%
• 28.600 files in Notes Programframework in 2.700 subfolders
– 11.200 (mostly undocumented) .properties files
– 1.200 .jar files
– 1.300 .html files
• 600 files in Notes Dataworkspace in 250 subfolders
– 40 (mostly undocumented) XML files
– 40 (mostly undocumented) .properties files
• Overall
– 35.000 files in 2.950 subfolders
– 11.280 mostly undocumented files
– ... and around 60 NSFs/NTFs
– ... and the good old notes.ini file
@panareima
#MWLUG2017
8. Add over 80 preference/dialog boxes
• Each dialog has ~15 settings at average
For a total of 1,200+ settings spread across
• names.nsf (very few)
• notes.ini (few)
• XML, .prefs, .properties files (lots of)
Plus any plugins, widgets,
add-ons, etc. "you" or the user
may have added to the Notes
client install
IBM Notes 9.0.1 Fix Pack 8 Interim Fix 1
@panareima
#MWLUG2017
11. IBM Notes release
If you‘re not on 9.0.1 yet 9.0.1 is a significant improvement
Software lifecycle of IBM Collaboration Solutions
– http://www-01.ibm.com/software/support/collaboration/lifecycle/
@panareima
#MWLUG2017
12. Antivirus realtime scanning in Data directory
~50% of the entire data volume in the Data directory changes on a
DAILY basis in most setups
• 5 - 10% in Dataworkspace (up to 300 files)
• DISABLE Antivirus scanning for at least
*.n*f
*.ndk
*.xml
*.properties
in the Notes Data directory.
@panareima
#MWLUG2017
13. What makes the Notes Client START slow
Client crashes/database fixups
• Happens mostly for clients with network based data directories
Outdated Hardware
• You need >2 GB memory if you want to use Notes and other
software simultaneously
• Old fixed disks with fragmentation
• Got the money? Buy Solid State Disks and make Notes start off
of them ;-)
Tons of startup programs/scripts launching during "boot storm"
• If the disk is unable to keep up, it's not the fault of Notes
@panareima
#MWLUG2017
14. What makes the Notes Client START slow
Outdated Data directories
• Virtually 100% of all NTFs (Laptops: 90%) can be removed by
cleaning up old Notes 4+5+6+7 templates
• Hint! use ini:SharedDataDirectory= (also with Single User install!)
Operating System
• Windows 8.1 boots ~20% faster than Windows 7
• Windows 10 ~15% faster than 8.1
@panareima
#MWLUG2017
15. ODS of local databases
ODS = On Disk Structure
• ODS 16 = Notes 2
• ODS 17 = Notes 3
• ODS 20 = Notes 4 (or Templates)
• ODS 41 = Notes 5
• ODS 43 = Notes 6 & 7
• ODS 48 = Notes 8
• ODS 51 = Notes 8.5 & 9.0
• ODS 52 = Notes 9.0.1
The difference between ODS 43 and 52 = up to 80% LESS FILE I/O
• This helps on ANY client AND server hardware
@panareima
#MWLUG2017
16. ODS of local databases (cont.)
CAUTION: ODS is not automatically updated when upgrading clients
– ODS 51 requires Notes >= 8.5 and CREATE_R85_DATABASES=1 in
notes.ini for NEW db's
– ODS 52 requires Notes >= 9.0.1 and CREATE_R9_DATABASES=1 in
notes.ini for NEW db's
– Looking to upgrade ODS of desktop8.ndk? Good luck! Only renaming
to older version (i. e. desktop6.ndk) or deleting helps!
Good News for Notes > 8.5
– Use NSF_UpdateODS=1 with CREATE_R85/R9_DATABASES=1 for a
one-time upgrade of most local databases
• Note: USE WITH EXTREME CARE IF YOUR DATA DIRECTORIES ARE
ON A NETWORK DRIVE!
• Note: End users can't access databases during compact OR
databases will be ignored if in use
@panareima
#MWLUG2017
17. ODS of local databases (cont.)
Impact examples
– Startup time of a Notes 9.0.1 client with 3 ODS20 databases
in Notes data = 20 seconds
– After ODS upgrade = 8 seconds
– Reduced File I/O of your disks/SAN/NAS after ODS41 to 52
upgrade by 60%
– Removing 70% of all old files in Data directories on SAN/NAS
= 45% less managed storage (backup)
The bad news: There is no way to tell what is "out there"
– 3rd party tools or random inspections are highly
recommended
@panareima
#MWLUG2017
20. Eclipse Workspace improvement
• Almost every IBM Notes Client start in a virtual environment
(Citrix, VMware, VDI, etc.) is an initial (setup) start and takes at
least 23 sec on average
• ~65% - 70% of the time during first starts is used to build the
workspace folder (at least 15 sec)
• A typical new workspace folder (IBM Notes 9.0.1 FP8)
consists of
– >500 files
– >200 folders
– >85 MB (including 64MB *xpdplat_.jvm_G11 file
NotesShareClasses improvement)
@panareima
#MWLUG2017
21. NotesShareClasses improvement
• In IBM Notes the jvm.shareclasses file (*xpdplat_.jvm_G11) is
stored in each users Dataworkspace.configorg.eclipse.osgi
folder and has a size of 64MB
• To optimize file I/O, speed up the IBM Notes Client start and save
storage (960MB per server == 15users), this file can be shared
across all users of the virtual environment server
1. Create the following folder "C:TempNotesShareClasses" and
set folder rights for "everyone" to read / write access
2. Change the value of the parameter "jvm.shareclasses.loc=" in
%ProgramFiles(x86)%IBMNotesframeworkrcpdeployjvm.
properties
• from "${rcp.data}/.config/org.eclipse.osgi"
• to "C:/Temp/NotesShareClasses" it’s important to use
"/" instead of ""
@panareima
#MWLUG2017
22. Eclipse Workspace improvement (cont.)
Accelerate the IBM Notes Client start to be >65% faster
(with less file I/O)
1. With a non-admin user (Windows + IBM Notes) run an initial
setup of IBM Notes
2. Start IBM Notes and wait for 2-3minutes
3. Exit IBM Notes
4. Start IBM Notes again and wait for 2-3minutes
5. Exit IBM Notes
6. Create the following folder
%ProgramData%IBMNotesDataCommon
7. Copy the workspace folder from
%LocalAppData%IBMNotesData
to %ProgramData%IBMNotesDataCommon
@panareima
#MWLUG2017
23. Eclipse Workspace improvement (cont.)
8. Delete the following files & folders in
%ProgramData%IBMNotesDataCommonworkspace
a. UDM
b. Logs all but .prov2install
c. .metadata.pluginscom.ibm.collaboration.*
d. .metadata.pluginscom.ibm.rcp.personality.framework
e. .metadata.pluginscom.ibm.rcp.security.auth
f. .metadata.pluginscom.ibm.rcp.managedsettings
@panareima
#MWLUG2017
26. What makes the Notes Client PERFORM slow
Again
• ODS of local databases
• Hardware
Notes.ini
• EXTMGR_ADDINS = (not just) local virus scanners
• Disable Notes "plugins" like virus scanners etc.
– They increase Network traffic by up to 200 – 250%!
Data directory on the network vs. fixed disk
• Disk performance is the #1 bottleneck
– think SSD vs. normal HDD ; 7.200rpm vs. 5.400rpm ; network
drive vs. local fixed disk
@panareima
#MWLUG2017
27. Port settings
Port settings are included in the notes.ini
• Type / Active / Encryption / Compression
Legacy
• LAN0 / COMx / DisabledPorts remove
Good idea
• Use TCPIP according to the client type
• PORTS = TCPIP
• TCPIP = TCP,0,15,0,,12320, - Desktops
• TCPIP = TCP,0,15,0,,45088, - Laptops
• TCPIP = TCP,0,15,0,,12288, - Citrix / VDI
Don't forget the Domino server side!
@panareima
#MWLUG2017
28. What makes the Notes Client PERFORM slow
Install types: Basic vs. Standard
– Basic client starts up fast, Standard client, well … not so fast
IBM Roaming Users
– Try replicating ~80MB each time after you logon to Notes
before using it *facepalm*
Connection documents
– Pointing to outdated server names or IP addresses
– Low priority connection documents, which can cause
connectivity failures
Location documents
– IP addresses for home mail server --> breaks policies
– Outdated home mail server information
– Outdated mail file path
– Catalog server (think db links, doc links, new bookmarks) @panareima
#MWLUG2017
29. Why is the Catalog important?
Ever wondered what exactly happens when you click on db links /
doc links / view links?
1. Notes checks whether you already have a workspace icon
pointing to the replica ID in the link. If yes, the top most
icon on the stack decides on which server the db will open
2. If there's no icon on the workspace, Notes asks the catalog
server in your currently selected location document where
the db is to be found. So, make sure your catalog is up to
date! No catalog server? Notes will ask your mail server!
3. Are you replicating your catalog.nsf across all servers? Bad
news: If 2.) applies, Notes will open the database on the
server it finds first in the catalog – which is sorted
alphabetically. In global infrastructures that might be a
server far far away
Make sure to use an appropriate catalog server
in your location documents!
@panareima
#MWLUG2017
31. Performance Measuring with Client Clocking
NOTE:
All of that should only be done on ONE client – it slows down clients
and creates large log files!
Use the following (in notes.ini) to measure client performance
– CLIENT_CLOCK=1
– CONSOLE_LOG_ENABLED=1
– Debug_Outfile=c:somefolderdebug.txt
– Debug_Console=1
– DEBUG_TCP_ALL=1 (use only if needed)
Fileserver or local disk performance debugging is virtually
impossible
– If on >= 8.5 try adding DEBUGGINGWCTENABLED=16386 to
the notes.ini though
@panareima
#MWLUG2017
32. Performance Measuring with Client Clocking
Client_Clock=1 creates a debug file in the following format:
@panareima
#MWLUG2017
33. OpenNTF – NRPC Parser
Link:
http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=Notes%
20RPC%20Parser
Last Update:
v1.0.14 – Nov 10, 2016
Developed by:
Jamie Magee, MartinScott Consulting LLC, US
Andrew Magerman, Magerman Collaborative Software GmbH,
Switzerland
@panareima
#MWLUG2017
Performance Measuring with Client Clocking
35. We've all been advised to / guilty of deleting the cache.ndk in an
effort to solve Notes issues
– Some even delete cache.ndk on a scheduled basis
HOWEVER, let us explain the impact of that on Notes performance ...
– Increases traffic between client and server by 4,000% (forty times
more traffic, yes)
(8,000+% if the data directory is on a network drive)
– The more databases end users use, the worse it gets
– There is always a root cause – deleting cache.ndk only fixes
symptoms
– Let's look at some detailed traffic analysis for just ONE
application (the mail file) of ONE user ...
@panareima
#MWLUG2017
Performance Tuning – the (in)famous cache.ndk
36. 100 users =
150 MB vs. 3,7 MB
1000 users =
1.5 GB vs. 37 MB
Excluding Fileservers!
After deleting cache.ndk Keeping / NOT deleting cache.ndk
@panareima
#MWLUG2017
Performance Tuning – the (in)famous cache.ndk
38. Update ODS and hardware / clean out databases and templates
Standardize whenever and however possible
– This will save you a LOT of support time / cost
Keep versions / fix packs current
– Each release brings performance improvements but also resource
demands
Work around the impossibility to see all your client configurations
– Write an inventory agent, login script, get a 3rd party tool
Any challenge can be mastered with knowledge and tools
– All client issues are solvable
@panareima
#MWLUG2017
Summary
39. -- > Get your free license here <--
• Efficient Client-Analysis is impossible without
additional tooling
• FREE one year license of panagenda
MarvelClient Analyze
• The results will speak for themselves
panagenda MarvelClient