IBM Support

Notes/Domino Best Practices: Performance

Product documentation


Abstract

The following document is a checklist for Domino Performance Best Practices, one in a series of documents included in the Domino Best Practices Master Checklist. Subcategories for this checklist include Hardware/Platform considerations, Memory Usage, Disk Usage, and Application Design.

Content

This document is one in a series of documents included in the Domino Best Practices Master Checklist (#7008523).

Intended Audience
This checklist is designed for Notes/Domino administrators, Notes/Domino application designers and IT managers with intermediate to advanced Domino experience who wish to better leverage Domino Best Practices within their environment. It is not possible to provide an all encompassing list of best practices that focus on the nuances of every environment. If you wish to pursue a more in-depth and/or tailored discussion regarding your specific environment, please engage ISSL Consulting Services.

This is a living document and will continue to evolve over time.


What is Performance?

Notes/Domino performance is an extremely sophisticated topic. For our purposes, "performance tuning" is defined as the process of tuning an existing environment to obtain optimal response, improved efficiency, or to address specific issues. Many aspects of hardware and software affect performance, not the least of which includes the complexity of application design. For many individuals, the classic resources come to mind when considering performance, such as CPU, Memory, and Disk I/O.

However, other lesser known resources are just as critically involved, including the process virtual address space, threading, semaphores, socket connections, and so forth. High level application configurations such as database design, user load, and scheduled activities can have a tremendous affect on both OS and application resources. The most important point to realize is that when it comes to performance issues, there is no single right or wrong answer. All of the various factors must be considered, including the unique customer environment. What works for one server environment may cause a problem for another server environment. This discussion must always be applied on a case-by-case basis.

What follows below is a series of considerations intended to provide guidance navigating this complex topic. Through a series of questions, we point you to the most critical documentation needed to examine specific areas of concern within your environment. While we have attempted to provide the most up-to-date information for ND6 and ND7, you may find that older resources are cited (for instance from R5). In such cases, we include a brief explanation for the relevancy of older documentation.





Performance Checklist - START HERE

(Return to Notes/Domino Best Practices Master Checklist, #7008523)







Server Performance Issues

(Return to top of Overall Performance Checklist)

Below are several articles that are recommended for general sever performance. In addition, you may select a specific topic to explore additional relevant articles.

1). Click here if you are/will be running a Domino Mail Server
2). Click here if you are/will be running Domino Server Internet Protocols
3). Click here for Domino Clustering Articles
4). Click here for considerations for Memory Usage
5). Click here for considerations for Disk/SAN Usage
6). Click here for considerations for Network Usage
7). Click here for considerations for Semaphore Usage
8). Click here for considerations for Hardware & Platform

Note: See also the Application Performance Checklist if you are designing your own Notes application

General Server Performance Articles Date Published
Domino 8.5 Performance for Lotus Notes Users, iNotes Users and Server Performance for Enterprise Server Clusters
Here is a three-part series of articles devoted solely to Notes and Domino performance. You'll find all of these articles posted on devWorks.
28 July 2009

Using the Domino Server INI parameter Server_Max_Concurrent_Trans
This document provides a discussion on SERVER_MAX_CONCURRENT_TRANS and SERVER_POOL_TASKS (INI parameters), including how these parameters affect server configuration and performance, as well as recommendations on setting appropriate values.
12 Jun 2007
Administrator's guide to Domino Server maintenance
The purpose of this document is to outline the utilities Updall, Compact, and Fixup, and to detail their appropriate use as part of normal maintenance as well as under abnormal circumstances. Ideally, this document will serve as a reference for a Domino ...
01 Oct 2005
Domino 6 directory performance improvements
This article discusses performance of the Domino 6 Directory and how to best set up your directory architecture to maximize performance and reliability. It indicates Domino 6 can improve name lookups per minute by a factor of 10 compared to R5.
03 Mar 2003
How implementing archiving policies affect server performance
You want to implement archiving policies and are wondering about the pros and cons of the various options available, with respect to performance impact, etc.
01 Nov 2005



Domino Server Memory Usage
(Return to top of Server Performance Checklist)

Perhaps one of the most difficult and conflicted areas within Performance is the subject of Domino Server Memory Usage. Domino has changed substantially over the years in the various checks used to control memory usage.

RAM vs Address Space
One primary point to consider with memory usage: RAM is not the only aspect to consider. Perhaps even more import is the concept of the user address space. For 32-bit applications such as Domino, each process can only examine so much memory in total. The user address space limit for a process depends on the Operating System, but in general, a single 32-bit process cannot access more than 4 GB of virtual memory.

The OS Kernel manages how much of that address space points to RAM vs page file. The result is that while a single process can theoretically use up to 4 GB of RAM, in reality, RAM usage is a much smaller portion of overall memory usage by a given process; most memory usage is in the form of the page file.

When a single process reaches the limit of its address space, it is unable to allocate more memory, either shared or private. This is often referred to as a "low memory condition", but is more accurately described as a "low address space condition". The net result is that most "out of memory" crashes are not resolved with adding more RAM. Instead, they are an indication that a process has reached its limit of memory usage. This can be caused by leaks, inefficient allocations, or high memory usage resulting from high load. When tuning such memory usage, it is important to determine how much memory is private vs shared; this determines the course of action as to which aspect of memory (private or shared) must be tuned.

Sizing the UBM
The Unified Buffer Manager (UBM) constitutes the single largest contribution to Domino shared memory usage. The UBM is responsible for caching disk I/O for all the databases on a server, improving the performance of the server. By default, Domino 6 & 7 set the maximum size of the UBM based on the amount of RAM installed on the system, taking roughly 3/8th of RAM, capping total RAM recognized at 4 GB.

However, on larger systems, the Domino 6 & 7 default size may be too large, resulting in high memory usage on heavily loaded systems. This may require adjustment of the UBM size to provided maximum server stability. The optimal size for the UBM varies based on platform and load.


Other Memory Usage Factors
As important as these INI parameters are, they serve mostly one purpose; to control the size of the UBM (NSF Buffer Pool). While the UBM is usually the single largest contributor to shared memory usage, it is definitely not the only factor when considering shared memory usage, or overall memory usage. Other factors include:
  • Number of Open Databases
  • Number of Open Views
  • Number of Open Documents
  • Number of Connected Users
  • Database Design
  • Agent Activity
  • Private Memory Usage (for each process) - the above INI's do not affect private memory usage
  • Use of External Non-Domino Components (JVM, RDBMS connectors, Anti-Virus, etc)

BLK_OPENED_NOTE
Certain large or heavily loaded systems can sometimes experience higher than normal memory usage due to a large number of open documents. This memory usage will show up in certain diagnostics as BLK_OPENED_NOTE. While IBM has address certain software issues in later releases of Notes/Domino, it is important to note that this situation can result from non-defect configuration issues.

Specifically, when creating agents that examine a document collection, or iterate through documents in a database, it is of the utmost importance that you follow best practices and close documents as you go. This includes both LotusScript and Java agents, no matter how small your document collection (things can change). Performing this step will ensure that you minimize memory usage due to agents.

Articles
The above discussion is not designed to cover all aspects of memory usage, but should give you a general idea of the factors that affect Domino Server memory usage. Below are links to various articles that discuss in more detail the usage of these parameters, as well as platform specific considerations for memory usage. Several new articles on memory usage best practices are in process, and once available will be added to this list.

Domino Server Memory Usage Articles Date Published
Domino 8.5 Performance for Lotus Notes Users, iNotes Users and Server Performance for Enterprise Server Clusters
Here is a three-part series of articles devoted solely to Notes and Domino performance. You'll find all of these articles posted on devWorks.
28 July 2009
New default limit on UBM size in Domino 8
This document discusses the change in Lotus Domino 8 server that enforces a new limit for the maximum size of the UBM (also known as the NSF Buffer Pool). The UBM is the pool that caches disk I/O allowing improved performance when accessing structures within a database.
05 Nov 2007
Lotus Domino Support for the Windows /3GB switch
A heavily loaded Domino server may exhaust its default user address space size of 2 GB. It is possible to increase the user's address space size to 3 GB using the /3GB boot.ini switch for certain releases of Windows. Does IBM® Lotus® recommend this course of action?
10 April 2007
AIX_LIMIT_SHM_SEGMENTS used to control shared memory on Domino/AIX
Beginning in ND7.0.2FP1, the Notes.ini variable AIX_LIMIT_SHM_SEGMENTS is now to be used in place of the Notes.ini variable ConstrainedSHMSizeMB to ensure entire segments are specified for shared memory...
24 Jan 2007
Lotus Domino on AIX memory usage explained
Learn about IBM AIX segment layouts for the Lotus Domino server and how to configure the Notes.ini file settings ConstrainedSHMSizeMB and PercentAvailSysResources to alter your server memory allocation. Find recommendations for configuring the server.
21 Mar 2006
Redpaper - Domino 7 Performance Tuning Best Practices to Get the Most Out of Your Domino Infrastructure
Performance tuning, or optimization, is the process of modifying a system's configuration in order to improve its efficiency at meeting specified functional goals. The systems in question can be a single application, one Domino server, a collection of ...
21 Sep 2006
Crash in any Domino task due to high memory usage in BLK_OPENED_NOTE
Any Lotus Domino server task can crash where there is high memory usage in BLK_OPENED_NOTE.
25 Oct 2006
Server crashes due to low memory condition after backup application runs
A Lotus Domino server is crashing. The NSD log fatal callstacks vary slightly; however, it consistently fails on memory allocation functions.
08 Nov 2006
Redbook - Lotus Domino 6.5.1 and Extended Products Integration Guide
This IBM Redbook discusses how to install, configure, and integrate Release 6.5.1 of IBM Lotus Domino and the Extended Products. Release 6.5.1 of Lotus Domino and the Extended Products represents a significant change in the way Lotus delivers software ...
13 Oct 2004
Ask Professor INI: More on memory management and other questions
A reader sets Professor INI straight on PercentAvailSysResources (Professor INI knows all too well that no one has all the answers), and the Professor tackles questions on Notes 6 INI variables, mail sound settings, and relocating bookmarks.nsf.
16 Sep 2003



Internet Protocols
(Return to top of Server Performance Checklist)

Internet protocols require additional consideration, since these tasks add an additional layer of architecture into the picture. These tasks such as HTTP, IMAP, and SMTP leverage the fundamental Notes Object Services (NOS) such as NSF, NIF, FTI to serve Notes databases to nontraditional clients. As a result, in addition to the steps you can take to tune your core Domino server, you may need to take additional steps to tune a specific Internet Task.

One of the more critical ways these tasks can be tuned is through the modification of the number of worker threads. However, you must always be careful when adjusting the thread count, since memory usage and context switching can become an issue. In general, you should only adjust a tasks thread count if you have specific reason to do so as directed by IBM Support, and even then, it is recommended that you generally do not exceed 100 threads total.

In addition to thread count, multiple Internet Protocol tasks also have configurable cache sizes (usually found in the server document), such as the Domino HTTP server task, which allows you to adjust the size of the user cache and session cache. Usually, these caches are not large in size, but you should use caution when increasing such caches as they can have an impact on memory usage. Refer to the articles listed below for more details on performance considerations for various Internet Protocols.

Internet Protocol Articles Date Published
Domino HTTP Active Thread recommendations
What is the recommended maximum number of active HTTP threads for a Lotus Domino server?
08 Sep 2005
HTTP thread queue implementation in 6.x can cause performance issues for some setups
Web users notice slower performance on a Lotus Domino Web server (HTTP task) after you upgrade the server from Domino R5 to Domino 6.x. In some configurations, this performance difference can be explained by the different thread queue implementation...
03 Jan 2006
HTTP hangs or performs slowly when a servlet or Java agent uses recursive HTTP calls
The HTTP process begins to perform very slowly or completely hang on a server that is making heavy use of servlets or Java agents that make an HTTP request back to the same HTTP process.
01 Sep 2006
Domino Web Server Limitations on File Uploads
What limitations exist for file uploads to a Lotus Domino Web server?
25 May 2005
Performance considerations with HTTP when loading attachments or images
Discussion of performance considerations when loading images and attachments in Lotus Domino server versions.
19 Oct 2005
Poor HTTP Performance when Document Contains Many Inline Images
You notice poor performance when a number of Web browsers access a page with many inline images hosted on a Lotus Domino Web server.
21 Jul 2004
In Release 6, Web-Triggered Agents Take Longer to Complete when Maintaining Unread Marks
After you upgrade a Lotus Domino server from Release 5 to Release 6, you notice that Web-triggered agents run noticeably slower. This slower performance can be due to enhancements for maintaining unread marks introduced in Domino 6.
26 Jul 2005
A preview of browser-side caching enhancements
A follow-up to the LDD Today article, "Building Web applications in Domino 6: Browser caching and response header rules," this article discusses other enhancements in the Domino 6.0.1 maintenance release, and how to diagnose cache validation problems.
03 Jan 2003
Using Notes/Domino SMTP with a DMZ, Part 1
Email is everywhere -- and so are people who want to abuse it to gain access to your corporate environment. Help keep them out by setting up a DMZ between the public Internet and your company's users and resources. In this first of a two-part series, we ...
9 Nov 2004
Using Notes/Domino SMTP with a DMZ
We conclude our two-part article series about setting up a DMZ to help protect your company's resources with a look at several different scenarios for hosting Domino servers in the DMZ to control inbound and outbound SMTP mail traffic.
15 Nov 2004
Domino 6 IMAP performance
The Domino 6 IMAP server offers several message storage formats. This article reports on tests that measured the effect of mail formats on server transaction counts, CPU usage, memory usage, and response time.
03 Mar 2003



Domino Mail Servers
(Return to top of Server Performance Checklist)


Domino Mail Server Articles Date Published
Domino 8.5 Performance for Lotus Notes Users, iNotes Users and Server Performance for Enterprise Server Clusters
Here is a three-part series of articles devoted solely to Notes and Domino performance. You'll find all of these articles posted on devWorks.
28 July 2009
Best practices for large Lotus Notes mail files
Learn how you can manage the ever-growing mail files of your Lotus Notes users, conserving your system resources while ensuring your Notes users continue to enjoy high performance and reliability.
11 Oct 2005
How to limit the number of threads used for sending large messages
Every day a large message is sent to a large group of users. When this message is sent, all other mail backs up until the large message is delivered to all recipients. Is there a way to limit the number of threads allocated for sending such messages?
10 Jan 2007
Creating Mail policies in Lotus Notes/Domino 7
Learn how policies, first introduced in Lotus Notes/Domino 6, have been enhanced to include the powerful new Mail Settings policy document that lets you administer calendar and mail settings for your users.
11 Apr 2006
Understanding quotas for IBM Lotus Domino mail databases
Learn how the implementation of mail quotas can significantly enhance the administration team's ability to control the size of mail databases--a vital function of managing an IBM Lotus Domino environment. Learn the steps necessary to implement quotas and ...
29 Aug 2006
Controlling spam: Advanced SMTP settings in Lotus Domino
Find out how to control spam mail using the Server document and Notes.ini variables. Then preview the anti-spam controls in Lotus Notes/Domino 7 and see what’s ahead. This article is part two in a series about Lotus Domino methods of spam control.
09 May 2006
Controlling spam: Advanced SMTP settings in Lotus Domino
Find out how to control spam mail using the Configuration Settings document, server mail rules, and inbound SMTP commands and extensions in Lotus Domino 6 and later. This article is part one in a series about Lotus Domino methods of spam control.
22 Feb 2005
How to manage your inbound spam mail in a Lotus Domino 6 environment
Spam or junk mail is the bane of every e-mail user's existence. It is a constant battle to keep junk mail out of your inbox, and to keep your e-mail system a productive tool. Domino 6 has new features to arm you in the battle against spam. This tutorial ...
22 Mar 2004
Redbook - Sizing Large-Scale Domino Workloads for iSeries
A large iSeries client asked IBM to recommend configurations for its expanding Domino workloads. IBM launched a 12-week benchmarking study to analyze their environment. Workload components included large mail files, documents with multiple attachments ...
22 Dec 2003
Preventing spam mail in Notes/Domino 6
Notes/Domino 6 includes several important features that help prevent spam mail from entering your organization and reaching users. This article looks at general techniques for avoiding spam, and examines Notes/Domino 6 anti-spam features in detail.
01 Apr 2003
Domino 6 server mail rules
In Domino 6, mail rules have been enhanced to run on MAIL.BOX and to affect all messages on the server. This article looks at Domino 6 server mail rules, how to create them, and how mail rules affect server performance.
03 Feb 2003



Domino Clustering
(Return to top of Server Performance Checklist)

While several of the articles listed below are somewhat dated, they still provide a solid foundation for understanding Domino Clustering. Note that changes in ND6 for streaming replication (compression) have also improved standard as well as clustered replication.

Domino Clustering Articles Date Published
Domino 8.5 Performance for Lotus Notes Users, iNotes Users and Server Performance for Enterprise Server Clusters
Here is a three-part series of articles devoted solely to Notes and Domino performance. You'll find all of these articles posted on devWorks.
28 July 2009
Configuring multiple cluster replicators on a Domino server
How can a clustered server be configured with multiple cluster replicators?
26 Oct 2006
Domino 6.x Server Availability Index (SAI) -- Understanding How SAI Is Calculated
You would like to know how Server Availability Index (SAI) is calculated on a Domino 6 server.
22 Oct 2005
Replication performance with network compression
A follow-up to Network compression in Domino 6, this article compares R5 replication to Domino 6 replication with network compression enabled over varying line speeds. Conclusion: Domino 6 replication provides a significant improvement.
01 May 2003
Optimizing server performance: Predicting Domino cluster performance
High database availability in Domino clusters has a performance price. This article offers a predictive model that considers many factors related to users, configurations, and resources to help administrators improve resource planning.
01 Dec 1999
Lotus Domino Advanced Services: High Availability Powered By Notes
This article defines high availability (continuous access to networked resources despite failures in network components) and describes Lotus Domino Advanced Services, a set of advanced server features of which Domino server clusters are a key part.
13 Jan 1997



Disk/SAN/NAS Considerations
(Return to top of Server Performance Checklist)

Domino is essentially a FileServer application, reading and writing documents ("notes") to and from disk storage. Thus Domino's ability to recover documents from disk, and write any changes to those documents back to disk, in a timely manner, is one of the most key performance factors of all. Any delays to Domino's requests to read and write documents, even relatively minor delays, can have very severe implications on both Domino's overall performance, as the Notes end user sees it, as well as impacting on Domino's ability to provide a stable environment.

It is important to note that technically, Domino doesn't care or know about what type of disk system lies underneath it. Domino simply relies on the Operating System and Hardware to manage those resources. Domino is just another application using disk. However, since Domino engages in potentially intensive disk I/O, when slowness or bottlenecks exist in the disk subsystem, Domino will manifest those bottlenecks through slow performance.

Therefore, when Domino performance is traced back to disk problems, addressing those issues is not within the realm of Domino Support, but rather reverts to whomever manages the Operating System and Hardware. Having said this, IBM Lotus Domino support has seen certain issues in the past that can be avoided by observing certain guidelines:
  • Make sure that Domino has a dedicated disk subsystem, and is not completing with any other large applications or Operating System activities. See the Transactional Logging Best Practices Checklist if you have enabled transactional logging.
  • Study the end-to-end i/o chain starting from each Domino Server (DPAR) all the way through the OS, across HBAs & Fabric to the actual Disks.
  • Make certain that a throughput of 80 - 100MB/sec can be sustained indefinitely across this entire end to end i/o chain for each DPAR.
  • Maximum Host & SAN cache, to minimize "re-Reads" and maximize "Writes" speed. Use 3GB RAM per DPAR, 800MB Maximum UBM, min 32GB NVRAM.
  • Do not share Fabric, Disk Array Controllers, LUNs or disks with "foreign" hosts where i/o is as similarly unpredictable as Domino Mail i/o.
  • Monitor Domino i/o over years, not days. Know the predictable Corporate peak periods for your industry, and plan for the unpredictable ones.
  • Strictly manage your Users & Mailfiles with Archiving & Policies to minimize the amount of i/o that must flow over the SAN

Articles
Below are several articles regarding disk information: the first article provides a statement regarding Domino Support for SAN/NAS; the second article provides some disk requirement recommendations (Chapter 2.6) for certain hardware platforms.

Disk/SAN/NAS Articles Date Published
Statement of Support for Domino on SAN and NAS equipment
With the rising use of Storage Area Network (SAN) and Network Attached Storage (NAS) equipment in corporate environments, IBM Lotus software would like to provide guidelines for deploying Lotus software products on this equipment in a manner that will be ...
03 Aug 2005
Redpaper - Domino for IBM eServer xSeries and BladeCenter Sizing and Performance Tuning
This IBM Redpaper will guide and assist you in selecting the correct server configuration for your selected Domino system, whether the system is for Web, application, or mail hosting. This Redpaper provides performance tuning techniques and best practices...
12 May 2004
Slow response from a Domino server due to fragmentation of the data drive
Users experience slow response when attempting to open a Notes database or switch views in the database.
10 Feb 2006



Network Usage Considerations
(Return to top of Server Performance Checklist)

Although not as high profile a system resource as others (such as CPU, Disk and Memory), network I/O is nonetheless an integral resource for Domino, especially in high bandwidth application such as Domino. Network considerations include number of session connections, number of Notes Ports configured on the server, port encryption, and sheer bandwidth use. Be careful to balance these factors. In particular, make sure you only configure the number of Notes Ports you need, since, when used by the Server process, each Notes Port receives its own listener thread and its own worker thread pool (by default 40 threads), which can consume value resources.

Network Usage Articles Date Published

Using the Domino Server INI parameter Server_Max_Concurrent_Trans
This document provides a discussion on SERVER_MAX_CONCURRENT_TRANS and SERVER_POOL_TASKS (INI parameters), including how these parameters affect server configuration and performance, as well as recommendations on setting appropriate values.
12 Jun 2007

How to set the NRPC thread pool sizes for each Notes port in Notes Domino 7
This document explains the changes in Notes Domino 7 that allow one to set the thread pool size for each independent Notes Port for NRPC (native client) communication.
26 Oct 2005
Network compression in Domino 6
This article explores the new network compression feature in Notes/Domino 6 and addresses questions that include, How much network bandwidth do you save with compression? and How does network compression affect server performance?
01 Aug 2002
Replication performance with network compression
A follow-up to Network compression in Domino 6, this article compares R5 replication to Domino 6 replication with network compression enabled over varying line speeds. Conclusion: Domino 6 replication provides a significant improvement.
01 May 2003
Redbook - TCP/IP Tutorial and Technical Overview
The TCP/IP protocol suite has become the de facto standard for computer communications in today's networked world. The ubiquitous implementation of a specific networking standard has led to an incredible dependence on the applications enabled by it. ...
01 Oct 2005



Semaphore Usage
(Return to top of Server Performance Checklist)

While several of the articles below are dated, they provide valuable insight into how Domino makes use of semaphores. While there have been tweaks and moderate changes to the diagnostics that track semaphores, the basic principles have gone unchanged. Check out these articles for a basic understanding of semaphores, as well as what diagnostics are available to troubleshoot semaphore bottlenecks.

Semaphore Usage Articles Date Published
Semaphores and Semaphore Timeouts
What are semaphores and semaphore timeouts
20 Apr 2006
Turning on semaphore debugging parameters in notes.ini for Domino
How do you turn on semaphore debugging parameters in the notes.ini for Domino?
25 Jan 2005
Optimizing server performance: Semaphores (Part I)
Part 1 of 2: This article covers the general concepts of Domino clustering and discusses clustering performance with illustrations from R4 testing data. It also includes recommendations from performance testing on R4.6.
02 Dec 1999
Optimizing server performance: Semaphores (Part 2)
Part 2 of 2: This article looks at application design and LotusScript as causes of semaphore timeouts and offers troubleshooting tips and techniques, and some R5-specific troubleshooting guidelines.
02 Dec 1999




Hardware & Platform Considerations
(Return to top of Server Performance Checklist)

Below are two main articles that discuss general considerations for choosing the appropriate hardware and software platforms for your Domino needs.

General Hardware Articles Date Published
Choosing a platform for Domino 6: Storage vendors
This article, the second on hardware configurations for Domino, asks storage vendors, What are the advantages of running Domino on your platform? and reports on replies from Network Appliance Inc, IBM Network-Attached Storage, and IBM eServer iSeries.
01 Oct 2002
Choosing a platform for Domino 6: Hardware platform vendors
This article asks hardware vendors, What are the advantages of running Domino on your platform? Replies come from Sun, COMPAQ (now HP ProLiant servers), HP (HP-UX), IBM eServer pSeries, IBM eServer iSeries, IBM eServer zSeries, and IBM eServer xSeries.
01 Aug 2002

For additional Platform Information, see the following links:

Click here for Windows
Click here for Linux (x-series)
Click here for Solaris
Click here for zOS and zLinux
Click here for i5/OS

W32 Articles
(Back to top of Hardware/Platform Checklist)
Date Published
Domino Server Hangs, Crashes or Exhibits Poor Performance on a Windows NT Server Using Compression
A Domino Server customer experiences hangs, crashes, overall poor performance, or minutes of response time delay on Windows NT when using disk compression. The most common symptom is a sporadic intense delay where a portion of the server appears to hang, ...
02 Mar 2004
Redpaper - Deploying Lotus Domino on IBM eServer BladeCenter
This IBM Redpaper gives you a broad understanding of the latest features included in the IBM eServer BladeCenter and the advantages this system has in the marketplace. This Redpaper will help you to set up and configure your IBM eServer BladeCenter to ...
19 Nov 2003

Linux Articles
(Back to top of Hardware/Platform Checklist)
Date Published
Redbook - Lotus Domino 6 for Linux
This IBM Redbook describes how to run the IBM Lotus Domino 6 server on the Linux platform. While Lotus Domino 6 is platform-independent, some specific knowledge about the platform and configuration is required to ensure that the Domino 6 server is ...
11 Dec 2002
Lotus Domino platform statistics on Linux
The platform statistics feature has long been one of the most powerful system analysis tools in Lotus Domino. In Domino 6.5, this feature has been extended to the Linux platform. This article explains how you can use platform statistics for Lotus Domino on Linux to help make your job as administrator easier.
02 Aug 2004


Solaris Articles
(Back to top of Hardware/Platform Checklist)
Date Published
Redbook - Domino 7 for Sun Solaris 10
Although the IBM Lotus Domino server is platform independent, each platform it runs on requires some additional platform-specific knowledge and configuration to ensure that it operates efficiently and at maximum capability. This IBM Redbook explains how ..
27 Mar 2006
Rules-of-thumb for monitoring Sun Solaris statistics
This article focuses on performance of the Sun Solaris operating system, and interpretation of operating statistics. It also suggests some possible OS tuning changes that may help performance.
01 Jul 2002

zOS & zLinux Articles
(Back to top of Hardware/Platform Checklist)
Date Published
Redbook - Best Practices for Lotus Domino on System z: z9 and zSeries
IBM Lotus Notes and Domino are designed to help organizations increase productivity and responsiveness through business-critical collaboration capabilities and a rapid application development and deployment environment. To most effectively use your ...
02 Mar 2006
Technote - Domino 6 - Using zSeries As a Platform
This hint and tip explains why it is desirable to run Domino on zSeries.
31 May 2006
Redbook - IBM Lotus Domino 6.5 for Linux on zSeries Implementation
This IBM Redbook will help the reader plan for, install, and configure the new IBM Lotus Domino 6.5 product on an IBM eServer zSeries system running Linux. We discuss why you should consider running Domino for Linux on zSeries, and list the advantages of ...
22 Dec 2004
Redbook - Lotus Domino for S/390: Running a Large Domino System
This IBM Redbook describes how to run a large Domino for S/390 production system from both S/390 and Notes administration perspectives. It documents the experience of running the world's largest Domino/Notes e-mail installation at IBM Poughkeepsie, as ...
13 Feb 2001

i5/OS Articles
(Back to top of Hardware/Platform Checklist)
Date Published
Redbook - Implementing Domino 7 for i5/OS
With the introduction of IBM Lotus Notes and Domino 7, IBM Lotus continues to set the standard for innovation in the messaging and collaboration market that Lotus defined two decades ago. With Lotus Notes and Domino 7, IBM has enhanced the scalability ...
19 Feb 2007 (Draft)
Considerations when developing Domino C and C++ API applications for i5/OS
This article describes how some changes to i5/OS require new considerations when developing applications that use the Lotus Domino application programming interfaces; in particular, the C and C++ application programming interface (API) interfaces. The ...
01 Jun 2006
Redbook - Sizing Large-Scale Domino Workloads for iSeries
A large iSeries client asked IBM to recommend configurations for its expanding Domino workloads. IBM launched a 12-week benchmarking study to analyze their environment. Workload components included large mail files, documents with multiple attachments ...
22 Dec 2003
Redbook - Domino for iSeries Sizing and Performance Tuning
Explore the methodologies and approaches to assist in providing optimal performance of Lotus Domino for iSeries! This IBM Redbook targets technical professionals who are responsible for, or must advise on, the installation and administration of Lotus ...
11 Apr 2002




Troubleshooting Notes/Domino Performance

(Return to top of Overall Performance Checklist)

Troubleshooting performance issues can be a daunting task at times, with many complex factors coming into play. Hardware, Operating System resources, Domino resources, and application design can all play a factor. However when it comes to troubleshooting performance, the most important thing to identify is the bottleneck.

The first order of business is to establish how a performance problem is manifesting itself. In other words, is the bottleneck CPU, disk, network? Are there any semaphore time-outs in Domino? Is there one specific application where the problem is occurring, or perhaps only one part of the database? Is the performance slow for just one user, or many users? Slow for one protocol, or any protocol, for instance HTTP vs NRPC? Drilling down to as narrow a problem determination as possible is critical to troubleshooting.

Once you have narrowed the problem down as much as is humanly possible, you must use your knowledge of the problem to determine which diagnostics to collect. For instance, you may collect SEMDEBUG.TXT if you are seeing semaphore time-outs, OS level logs such as Perfmon or SvMon for CPU spikes, a network trace for network latency, etc. You will often times use both OS level and application level diagnostics in conjunction in order to peel away the layers of the onion. While it can be frustrating at times, diagnosing a performance problem is much like investigating a mystery; you are the detective. Of course, IBM Support is always here to assist you.

Below are a series of articles that can assist you when troubleshooting Notes Domino performance, including application performance, and general Domino server performance. It is strongly recommended that you read over the first article " Domino Server Performance Troubleshooting Cookbook." In addition, while somewhat peripherall to the topic of performance, a few articles below discuss troubleshooting techniques using NSD.

Troubleshooting Performance Articles Date Published
Domino Server Performance Troubleshooting Cookbook
The purpose of this document is to provide you with useful information for troubleshooting general Lotus® Domino® server performance issues.
06 Jun 2006
Using NSD - A Practical Guide (HND202) - Lotusphere 2007 Lab
The purpose of this PDF is to provide Administrators with useful information for troubleshooting general Lotus® Domino® server crash & hang issues. Contains the same basic information as the 2008 PDF, but with different scenarios. Both versions are useful.
01 Feb 2007
Knowledge Collection: NSD for Notes Domino release 6 and 7
This document is a knowledge collection of various technotes regarding NSD in Notes Domino release 6 and 7.
09 Jan 2007
Troubleshooting Notes/Domino abnormal terminations on W32
This document is a consolidation of several documents written over the years on different techniques available to debug abnormal terminations. This document incorporates the information from these previous documents as well as updates in information.
05 Jan 2007
Troubleshooting application performance: Part 1: Troubleshooting techniques and code tips
When it comes to application performance, faster is better. In part one of this series, we offer a tried-and-true method for troubleshooting application performance with a real-life example of how we applied this process to a customer's application.
29 Mar 2005
Troubleshooting application performance: New tools in Lotus Notes/Domino 7 (Part 2)
We conclude our two-part series on troubleshooting Domino application performance with a look at new tools introduced in Lotus Notes/Domino 7 that can help you identify potential performance issues in your applications.
05 Apr 2005
Knowledge Collection/Troubleshooting Guide: Known causes of slow database performance
The purpose of this document is explain the most common reasons for database performance issues. It is not intended to diagnose performance issues relative to ALL databases on a particular server. The document is part Knowledge collection, part ...
01 Jun 2006
Troubleshooting agents in Notes/Domino 5 and 6
An update to 'Troubleshooting agents,' written for Notes/Domino 4.6, this article covers changes in Notes/Domino 5 and 6. It explores Notes.ini settings, the LotusScript NotesLog class, and server console commands, and discusses common problems.
02 Jan 2003





Analyzing Domino & Operating System Statistics
(Return to top of Overall Performance Checklist)

Domino/OS Statistics Articles Date Published
Analyzing system resources with platform statistics
This article introduces a new Iris Today column, Performance Perspectives, in which the Iris Performance Team will share results of its work. This month: Platform statistics, the operating system statistics tracked and output by Domino.
04 Feb 2002
Rules-of-thumb for monitoring Sun Solaris statistics
This article focuses on performance of the Sun Solaris operating system, and interpretation of operating statistics. It also suggests some possible OS tuning changes that may help performance.
01 Jul 2002
Lotus Domino platform statistics on Linux
The platform statistics feature has long been one of the most powerful system analysis tools in Lotus Domino. In Domino 6.5, this feature has been extended to the Linux platform. This article explains how you can use platform statistics for Lotus Domino on Linux to help make your job as administrator easier.
02 Aug 2004





Client Performance Checklist
(Return to top of Overall Performance Checklist)

Client performance considerations differ depending on whether you are using a native Notes Client, or a web-based client such as DWA. Choose the appropriate options below:

Click here for articles regarding Notes Client performance

Note: See also Application Performance Checklist if you are designing your own Notes application

Notes Native Client Performance Articles
(Return to top of Client Performance Checklist)
Date Published
Tips for Enhancing and Troubleshooting Notes 6 Client Performance
The purpose of this document is to emphasize performance enhancements included in the Notes 6 client, to provide you with tips to enhance Notes 6 client performance, to provide you with a list of known issues, and, finally, to provide you with useful ...
15 Nov 2005
Notes Client Performance Enhancements Starting in Release 6.0
Several performance enhancements have been built into the Notes 6 Client. This document provides an overview of these enhancements. The most noticeable performance improvement for Notes 6 is that many features are now "multitasking," which means you can do something else while the Notes client is busy performing an operation in the background.
08 April 2005


Application Performance - Designing Your Own Notes Applications
(Return to top of Overall Performance Checklist)

Below are a series of articles that pertain to developing Notes Applications. In brief, many aspects of database design can affect client and server performance. In particular, you should consider the following factors:
  • Number and complexity of views - A certain amount of CPU resources must be used to keep views up to date. The more complicated a given view is, the more CPU time it will take to update it, resulting in perceived latency on the user end. You should avoid creating overly complex views (with numerous click to sort columns) and keep user-sensitive and time-sensitive formulas to a minimum, especially when designing views for use with DBLookups. The more views you have in a database, the more time Indexer will spend keeping them up-to-date. On the other hand, you may find that creating two or more smaller views to replace one larger (more complex) view will facilitate performance.
  • Use of agents - Lotusscript and Java agents allow for an amazing amount of flexibility in your database application. However, agents can be a double-edged sword. The more complex an agent, the larger the hit on performance. A good rule of thumb - no single user triggered or web-triggered agent should take longer than 5 seconds to run. Obviously, scheduled agents may take longer.
  • Readers/authors names fields - While these provide important security for certain situations, the use of readers and authors names fields adds an extra layer of compute time for views. Use these sparingly.
  • Load testing - Load testing is an extremely essential component to a successful deployment of an application. IBM generally recommends that you establish a separate testing environment when possible to load test applications prior to production rollout. This will give you a better sense of how your application will behave under load.
  • Access to backend data - One must not forget that it take a certain amount of time to fetch data from a backend RDBM system. Numerous performance issues in the past have been traced back to latency when fetching data from a backend system. Be sure to stress this part of the system during load tests.

1). Click here for application design performance considerations
2). Click here for application load testing considerations

Application Design Performance Articles
(Return to top of Application Performance Checklist)
Date Published
Are there any guidelines regarding performance when developing a Notes application?
Are there any guidelines regarding performance when developing a Notes application?
19 Jun 2006
"Unable to Use Optimized View Rebuild" - Setting for Changing the Directory Where Views Are Rebuilt
How can the default directory where the Domino Update task rebuilds views for databases be changed?
07 Dec 2004
How to disable full text indexing on-the-fly for Notes databases
How do you disable full text indexing on-the-fly for Notes databases?
07 May 2005
Troubleshooting application performance: Part 1: Troubleshooting techniques and code tips
When it comes to application performance, faster is better. In part one of this series, we offer a tried-and-true method for troubleshooting application performance with a real-life example of how we applied this process to a customer's application.
29 Mar 2005
Troubleshooting application performance: Part 2: New tools in Lotus Notes/Domino 7
We conclude our two-part series on troubleshooting Domino application performance with a look at new tools introduced in Lotus Notes/Domino 7 that can help you identify potential performance issues in your applications.
05 Apr 2005
Application Performance Tuning, Part 1
Application performance is a measure of how efficient your application runs in certain environments and under specific loads. Can you measure application performance?
02 Apr 2003
Application Performance Tuning, Part 2
Part 2 of 2: This article looks at coding practices that can improve application performance. It also examines some common LotusScript methods to see which ones perform best under different conditions.
01 May 2003
Notes from Support: Reader Names fields can impact performance
A Domino 4.5.7 application nearly ground to a halt because of a bad interaction between Reader Names fields and a large All documents view. The solution? Categorize and collapse the view and split it up into smaller views. R5 offered further improvements.
02 Nov 2000


Application Load Testing Articles
Running an application under load is a more realistic way of understanding an application's behavior beyond just knowing what views and scripts the application contains. Developers and managers should have an expectation of response times from the application. Response times can vary throughout the day as server resources wax and wane. Complicated views and form calculations along with agents and peak numbers of users can highlight many problems such as unacceptable response times, reliability problems, and CPU pegging. Functionality testing is important, but load testing will be the best indicator of how usable an application will be in a real-world scenario. Application response times are influenced by the following which is not a conclusive list:
  • Network traffic
  • Other processes running on the box, such as anti-virus software
  • Memory usage
  • Peak numbers of users
  • Complicated design
  • Third party technologies (like SSL and LDAP)

Load testing is an extremely essential component to a successful deployment of an application. IBM recommends that you establish a separate testing environment when possible to load test applications prior to production rollout. This will give you a better sense of how your application will behave under load, and will provide unfettered access to a dedicated testing platform as the need arises once your application has been rolled into production.

Application Load Testing Articles
(Return to top of Application Performance Checklist)
Date Published
New workloads and features in Lotus Domino 7 Server.Load
Learn about all the new features we've added to the Lotus Domino 7 version of the Server.Load performance testing and planning tool.
06 Dec 2005
IBM Rational Performance Tester on Windows 2000 and Linux: A scalability comparison
This article describes a study we performed to compare the scalability of Robot test scripts on Windows 2000 and Linux, running identical hardware, software, and workload (suite) definition for various Lotus products.
20 Oct 2004

Document information

More support for: IBM Domino
Performance / Hang

Software version: 6.0, 6.5, 7.0, 8.0, 8.5

Operating system(s): AIX, IBM i, Linux, Solaris, Windows, z/OS

Software edition: All Editions

Reference #: 7008849

Modified date: 07 March 2016