Lotus Domino Performance Tuning - IBM
Lotus Domino Performance Tuning - IBM
Lotus Domino Performance Tuning - IBM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
This document serves as the transcript to the <strong>Lotus</strong> Society Hong Kong Talk<br />
“<strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong>”. The transcript contains additional information not<br />
provided in the slide deck used.<br />
1.Overview<br />
The <strong>Domino</strong>7 <strong>Performance</strong> <strong>Tuning</strong> Guide has 160 pages, which is a tough call to<br />
summarize in this short talk. You can download the free guide here:<br />
http://www.redbooks.ibm.com/redpieces/abstracts/redp4182.html<br />
Figure 1 Dimensions of <strong>Performance</strong> <strong>Tuning</strong><br />
<strong>Tuning</strong> is not a sport or an dark art, it is rather a series of well defined steps to<br />
improve performance. Keep in mind: if you don't improve your current bottleneck<br />
your tuning step will not have any visible impact.<br />
Page 1/11
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
Figure 2 <strong>Tuning</strong> Cycle<br />
Bottlenecks can be found anywhere, so careful analysis of your baseline data<br />
and your change results is needed.<br />
Page 2/11
Figure 3 Potential Bottlenecks<br />
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
2.10 Steps to get started<br />
• Have a plan<br />
• Know your infrastructure<br />
• Break down components<br />
• Have a baseline as reference<br />
• Measure baseline and analysis over time<br />
• Estimate benefits vs. cost<br />
• Have a change management plan<br />
• Prepare a backout and recovery plan<br />
• Do only one thing at a time; isolate individual changes<br />
• Finally let your changes get hold and measure them over time<br />
Page 3/11
Figure 4 <strong>Tuning</strong> cycle<br />
3.Hardware<br />
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
Your server layout can make a huge difference to your all over <strong>Domino</strong><br />
performance. You have to ensure, that you design the system for the intended<br />
load. Considerations have to be given to CPU, Memory, Network and data<br />
storage I/O capabilities.<br />
<strong>Domino</strong> distributes its tasks over the available CPUs, so multiple cores will<br />
benefit the performance. On big systems you can run multiple instances of<br />
<strong>Domino</strong> taking further advantage of CPU power.<br />
Page 4/11
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
Figure 5 Network layout for <strong>Domino</strong> Domain<br />
You should keep your networks for server, internet, clustering and clients<br />
separate.<br />
Also storage should be distributed over more than one I/O channel. Fast disks<br />
Page 5/11
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
also help. Typically you would have OS, Applications and data on different<br />
partitions. Data increasingly in a SAN.<br />
You can improve performance if you put I/O intensive applications (e.g. your<br />
corporate CRM or time tracking application on a separate disk with its own<br />
controller). Also having RAID1 disks with their own controller for transaction<br />
tracking helps.<br />
ReiserFS seems to be a good choice for the transaction log. The log is written in<br />
16KB blocks with is well supported.<br />
4.Operating Systems<br />
The more the operating system is busy with other things <strong>Domino</strong> performance<br />
suffers. Little oddities on Windows: if you minimize the <strong>Domino</strong> server window<br />
performance suffers.<br />
Task to do:<br />
• Disable all tasks you don't need<br />
• Keep your drives de-fragmented (or use a file system that doesn't needs<br />
defragmentation like Linux/Unix file systems)<br />
• Switch of the anti-virus scanning NSFs on access (they need to scan<br />
documents not NSF files)<br />
• No screen saver please (Switch of screen in the power settings)<br />
Keep an eye on memory limits (8.0.1 will do 64Bit, then this is gone)<br />
Figure 6 Default Memory Limits<br />
Page 6/11
5.Server Settings<br />
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
There are settings on the server that impact performance. Some of them<br />
shouldn't be touched for the sake of security. Most prominently the Port<br />
encryption of the network port(s). Don't mess with them.<br />
Things to check:<br />
• Remove services not needed<br />
• How many replicators do you need (more can be better!)?<br />
• Enforce_Personal_Agents=1 to switch personal agents off<br />
• Check # of concurrent agents<br />
• Check the various Amgr_ variables for Notes.ini ---> be careful there!<br />
• Don't use HTTP logging if not needed<br />
• show stat domino.cache<br />
• Increase HTTP threads<br />
• UPDATE_FULLTEXT_THREAD=1<br />
• Multiple Server Mailboxes<br />
• Server_Session_Timeout<br />
• view_rebuild_dir=X:\pathname\<br />
• Switch off all network protocols but TCPIP<br />
• Consider a single NotesNamedNetwork<br />
•<br />
6.Database<br />
The key of database tuning measures can be found in the design of the<br />
database rather then in the parameters. However there are some settings that<br />
impact performance:<br />
Page 7/11
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
Figure 7 <strong>Performance</strong> impacting settings<br />
• Unread marks<br />
• Document table map<br />
• Free space (compact often)<br />
• Response hierarchy<br />
7.Applications<br />
Application design is responsible for a lot of potentially bad performance. With<br />
some good will it is possible to kill the strongest <strong>Domino</strong> server. There are a<br />
number of considerations to speed things up.<br />
To get a full view what happens in a Notes client application you can switch on<br />
Page 8/11
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
connection debugging in the Notes client.<br />
Things to do:<br />
• Replace @DBLookup/@DBcolumn with @GetProfilefield<br />
• Replace GetNthDocument with getNextDocument<br />
• Use ViewEntryCollections instead of NotesDocumentCollections<br />
• Don't run through NotesDatabase.AllDocuments<br />
• Don't do @Dblookup in ReadMode!<br />
• Remove @Now and @Today from views<br />
• Use single category views for ReaderName access<br />
• Use LIST in <strong>Lotus</strong>Script<br />
• Don't build large document collections<br />
• Don't Redim Preserve large arrays<br />
• Use Julian's StringBuffer class for string concatenation<br />
• replace db.search with NotesView.getAllDocumentsByKey<br />
• StampAll is fast<br />
• Remove script from your form globals<br />
Page 9/11
8.Measure!<br />
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
Figure 8 Reporting and Monitoring<br />
Figure 9 Monitoring database<br />
Page 10/11
<strong>Lotus</strong> <strong>Domino</strong> <strong>Performance</strong> <strong>Tuning</strong><br />
Figure 10 Statrep is your friend!<br />
9.Web Resources<br />
http://www.ibm.com/developerworks/lotus/library/ls-Port_encryption/index.html<br />
http://www.ibm.com/developerworks/lotus/performance/<br />
http://www.redbooks.ibm.com/abstracts/sg245602.html<br />
http://www-1.ibm.com/support/docview.wss?rs=203&uid=swg27008523<br />
http://www-128.ibm.com/developerworks/lotus/library/ls-IO_subsystems/<br />
side1.html<br />
http://www-128.ibm.com/developerworks/lotus/library/ls-HTTP_Threads_settings/<br />
index.html<br />
http://searchdomino.techtarget.com/generic/0,295582,sid4_gci1270148,00.html<br />
http://www.redbooks.ibm.com/redpieces/abstracts/redp4182.html<br />
http://www-1.ibm.com/support/docview.wss?rs=0&uid=swg21174563<br />
http://www-1.ibm.com/support/docview.wss?rs=0&uid=swg21085205<br />
http://www-1.ibm.com/support/docview.wss?uid=swg21234550<br />
http://www-1.ibm.com/support/docview.wss?uid=swg21173877<br />
Page 11/11