Technote (FAQ)
Question
In order to maintain the stability, performance and serviceability of a Lotus® Domino® Server for Linux on zSeries, a number of base configuration requirements must be met. The purpose of this document is to provide a high-level review of those requirements most often missed by customers who are either new to the zSeries platform or Domino.
Answer
This knowledge collection is intended to serve as a checklist of base requirements for a Domino server running on Linux for zSeries.
Contents:
Software maintenance
Configuring the Domino server to generate diagnostic logs
Known problems that inhibit data collection
Configuring adequate memory
Verifying Linux settings
Notes.ini parameters
Domino Server document
More information
Software maintenance
Sources for information about the latest release(s) of Domino for Linux on zSeries are Upgrade Central or the "Notes/Domino Fix List - Upcoming Releases" page.
Verify the linux kernel is at the most current fix level. Check the Web site for your Linux distributor.
If running Linux under z/VM® verify the version you are running is the most current available and supported.
Configuring the Domino server to generate diagnostic logs
Configuring the Domino server to produce a full set of diagnostic data is integral to problem analysis, determination, and resolution. The Domino server must be configured to automatically produce diagnostic data in the event of a server outage:
Console Logs
- Enable notes console log capture by setting the notes.ini parameter(s) Console_Log_Enabled=1 and/or ServerController=1.
- Console and controller logs are stored in the following directories, respectively:
- /notesdata/IBM_TECHNICAL_SUPPORT
- and -
/notesdata
NSD
- nsd -memcheck will automatically run by default, if the Domino server crashes.
- Do not disable memcheck in the Fault Recovery section of the Domino Server Document, unless directed to do so by IBM Domino Support. If memcheck has been disabled, you will see "FaultRecoveryNSDArgs=-nomemcheck" in the server notes.ini file.
- Output from the nsd.sh shell script is automatically written to ../IBM_TECHNICAL_DIRECTORY subdirectory, but can be redirected using the notes.ini parameter, NSD_LOGDIR = <path>.
- Enable notes core dumps by setting the notes.ini parameter, Debug_enable_core=1. The core filename will be in the format core.12345 where "12345" represents the PID of the failing process.
- Redirect core files to a directory on a filesystem with adequate disk space to accommodate very large files, in the range of 2-3 GB each, by using the notes.ini parameter: debug_core_path=/path
For more information, refer to the following technotes:
Data to be collected when a Domino server on Linux for zSeries crashes
Directing Core Dumps to Another Directory for Domino on zSeries
Known problems that inhibit data collection
The following documents describe factors that can inhibit data collection. Review them to determine if additional actions are required for your particular configuration.
- Domino Server Fault Recovery fails for Domino 7.0.2 for SuSE Linux Enterprise Server (SLES) 10 on zSeries (#1248185)
- The GNU debugger (gdb) is required to collect stack information, and it should be installed under the directory /usr/bin. Ensure the Domino server ID has permission to execute /usr/bin/gdb. You can manually run NSD to verify that call stacks are being generated.
The GNU debugger can be found at the following Web pages:
http://sources.redhat.com/gdb/download/
http://ftp.gnu.org/gnu/gdb/
Configuring virtual storage
Refer to the Release Notes for your Domino version for memory requirements.
zLinux Addressing | Domino | REAL Memory (OS + file cache) | SWAP |
31-bit | 6.5.x, 7.0.x / 31-bit application | 2 GB total | 512 MB - 1 GB |
64-bit | 7.0.x, 8.0.x / 31-bit application | 2 GB per DPAR 2 GB for Linux | 250 - 300 MB |
64-bit | 8.5.x / 64-bit application | 2 GB per DPAR 2 GB for Linux | 250 - 300 MB |
64-bit native environments, such as SLES10, should be configured with more than 2 Gigabytes of real memory, rather than dedicating the memory resource to XPRAM. In these environments, linux swap should still be configured, but routine swapping is not expected, and using disk for the swap region is acceptable.
IBM recommends 250 - 300 MB of swap space on disk for production environments. One device is sufficient. In production environments and during our tests with tens of thousands of Notesbench users, we saw very little swapping, with sufficient memory allocated to the guests.
How many Domino Partitions per zLinux image/guest ?
- With 31-bit zLinux, IBM recommended configuring only one fully loaded DPAR per zLinux image.
- If you are running Domino on a 64-bit OS, the original 31-bit zLinux limitations do not apply. IBM recommends consolidating your DPARs to allow for fewer zLinux guests. You should then be able to allocate the memory Domino wants into the current physical memory in each z/VM. For example, if you consolidate from one DPAR per guest to three DPARs per guest with 19 GB central and 3 GB expanded memory, you will be running Domino with less physical memory, while at the same time giving Domino access to more real storage.
Measuring Domino Server performance
- Domino takes about 1 week to reach its full memory size. After about 3-4 days, it is around 90%, depending on what features are active, with the final 10% coming over the next couple of days. Be sure you are measuring memory usage after one full week of load.
- In an environment where the z/VM memory is over-committed, you will see workload spikes in Domino, since z/VM has to page the Domino guest and elongate transaction times. This has been documented by both benchmarks and PMRs, where fixing the paging rates resolved performance and scalability issues.
- Domino does not match the workload profiles of print servers, web servers or other workloads you may have seen under z/VM. These environments tend to 'go to sleep' when no user loads are active. This is not the case with Domino.
Read the installation instructions, in the install guides and Release Notes, carefully for specific settings.
Below are base configuration requirements which are sometimes overlooked.
File descriptors required for Domino to run are as follows:
- soft nofile 20000
hard nofile 49152
For more information, refer to:
Message 'Maximum number of file handles allowed for Domino is 1024'
Kernel settings for Domino: /proc/filesystem parameters
- /proc/sys/fs/file-max = 131072
/proc/sys/net/ipv4/tcp_fin_timeout = 15
/proc/sys/net/ipv4/tcp_max_syn_backlog = 16384
/proc/sys/net/ipv4/tcp_tw_reuse = 1
/proc/sys/net/ipv4/ip_local_port_range = 1024 65535
For more information, refer to:
Domino_Linux_Set_Parms=1 is not setting kernel parameters as expected
What follows is a list of commonly used notes.ini parameters by area of focus. You should evaluate whether these parameters are appropriate for your environment. For more information on these parameters, you can check the Domino Administrator Help or search on the Lotus Support site.
Settings which generate the Domino logs required for problem analysis
- Debug_ThreadID=1
- Console_Log_Enabled=1 and/or ServerController=1
- Debug_enable_core=1
Settings which control Domino memory used for buffering
- NSF_BUFFER_POOL_SIZE_MB=<megabytes>
- NSF buffer pool must be set to some value. (range = 200 - 400)
- NSF buffer pool will default to 400 MB or 1024 MB, depending on Domino version. Do NOT set this parameter unless otherwise recommended by IBM Support.
| Operating System | Domino 6/7 32-bit Default Maximum UBM Size | Domino 8 32-bit Default Maximum UBM Size | Domino 8.5 64-bit Default Maximum UBM Size |
| zOS | none | 400 MB | n/a |
| zLinux | 400 MB | 1024 MB |
- NSF_DbCache_Maxentries=<# of databases>
Reference: How to set the number of databases cached simultaneously in Domino
To avoid unnecessary CPU consumption or performance degradation
- MinNewMailPoll=<10 minutes or greater>
- FT_FLY_INDEX_OFF=1
- Disable_bcc_group_expansion=1
- View_Rebuild_Dir=<path>
- Server_Session_Timeout=<30 to 60 minutes>
If transaction logging is enabled
- TRANSLOG_HardwareCompress=1 (this is the default)
- MailBoxDisableTXNLogging=1
- Schedule_Disabletxnlogging=1
- Log_DisableTXNLogging=1 (Available in 7.0.2+)
Domino Server Document
IBM recommends enabling the following features in the Domino Server document
- Fault Recovery
- Transaction Logging
| More information |
IBM Lotus Domino, Linux, virtualization, scalability: No longer mutually exclusive terms
Data to be collected when a Domino server on Linux for zSeries crashes
Data Collection for Semaphore Hang Scenario with Domino for zSeries on Linux
Lotus Domino 7 on Linux for IBM System z: Capacity Planning and Performance Updates
Best Practices for Lotus Domino on System z: z9 and zSeries
IBM Lotus Domino 6.5 for Linux on zSeries Implementation
Notes/Domino Best Practices: Master Checklist
Notes/Domino Best Practices: Transaction Logging
What does notes.ini TRANSLOG_HardwareCompress do?
Description of "Server_MaxSessions=" and "Server_Session_Timeout=" Parameters
Scheduler Task using a lot of CPU
| Definition of a Knowledge Collection |
A Knowledge Collection is a focused compilation of links to documents that share a common theme. Knowledge Collections are navigation aids that organize content to help users quickly find relevant information. Knowledge Collections are not designed to be an all-inclusive list of all documents dealing with the specific theme.
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
