Optimising Linux servers for GroupWise and NCP Performance
Recently, I completed an installation of OES2 Linux servers and GroupWise for a customer where a few thousand users would be using these services simultaneously. Obviously, it was installed on some beefy hardware to begin with, but I researched all the various ways to optimize the performance of the systems even further. Below a summary of the various tweaks that can safely be applied to your OES servers and GroupWise servers running Linux:
Linux Server Optimization for GroupWise
The following tweaks can be applied to Servers, Cluster nodes and Virtual Machines that have to be optimized to run eDirectory and GroupWise for Linux and should be performed to optimize eDirectory Performance.
eDirectory Agent Cache settings
By default eDirectory uses a Dynamically Adjusted cache size limit. For best performance set this to a Hard Limit.
For the servers hosting the Post Offices/Gateways I'd recommend setting the Hard limit to 25% of the total RAM available, for example on the BL460c Blades with 16GB of RAM available, the Cache's Hard Limit would be set to 4096Mb.
On machines where eDirectory will be utilized for IDM, the Hard Limit should be set to at least 60% to 70% of the RAM.
Access iMonitor on the server, go to "Agent Configuration" in the left hand side menu, and then "Database Cache" to Modify these parameters.
Operating System Optimisation
The following parameters can be set to improve the performance / fault tolerance on the Operating System / Novell services.
Configure the network to use NIC Bonding for fault tolerance. This greatly reduces the risk of losing connectivity should a network cable or NIC start causing trouble.
Go to Yast, Network Devices and add a Bond interface.
Using Novell Remote Manager, there are a couple of general NCP server improvements you can implement. Log into Novell Remote Manager, via https://[server ip address]:8009. Then in the left hand pane open the "Manage NCP Services" and click on the "Manage Server" option.
After the "Server Parameter Information" page opens you can click on the values in order to tune them.
These are a couple of server tunings to consider:
Maximum_Cached_SubDirectories_Per_Volume tuned to 300000 (or higher)
Maximum_Cached_Files_Per_Volume tuned to 120000 (or higher)
Maximum_Cached_Files_Per_Subdirectory tuned to 6000 (or higher)
Cross_Protocol_Locks set to 1 to prevent Groupwise database Corruption.
See TID 7004594 for more information about NCP Cross Protocol Locks.
As several services rely on the Novell Authentication Module for their authentication to eDirectory it is recommended to tune this so it uses the local server. By default the "preferred-server" is set to the LDAP server used when the server was installed into the tree. This could be a server across a network link, adding unnecessary traffic as well as slowing down LDAP logins.
To get the current "namcd" configuration execute:
If the preferred-server value does not point to the local ip address, or an ip address of a server on the same physical subnet, this can be changed with the following sequence of commands:
namconfig set preferred-server=[ndsd's ip address]
This step can also solve a lot of other OES related issues, and increase performance.
After reconfiguring OES – check that the preferred server is still default.
To tune the filesystem for best performance when using NSS, the following tweaks can be applied:
Increase the NSS IDCacheSize to 128K, this can be accomplished by adding the following line to the nssstart.cfg:
Disable the Access Time by executing the following line:
nsscon /noatime=[volume name]
In order to make these tunings complete they can be added to the nssstart.cfg, though make sure to make no typos in this file, as they can cause the novell-nss to fail to start.
Make sure that all unmarked entries in this files start with a "/" and not a "nss /".
Whenever a new NSS volume is added, the NCPCON commands has to be run on the new volumes.
See TID 7006996 - Get the most out your Novell Open Enterprise Server 2 for more information.
After applying these tweaks, you should have a noticeable increase in performance. It would be worth noting the CPU usage, Memory usage and 'iostat' statistics before and after the tweaks are applied to put a measurable gauge on how the tweaks have increased performance.