System Requirements for Domino VMs on Windows 2003 Server vs. Redhat & Ubuntu Linux
We did some benchmarking of Lotus Domino and what was a "real" minimum for customer and Mindwatering Domino-based VMs on VMware ESX 3.5 and ESX 4i.
Domino Server 8.x (32-bit) on 64bit Linux or 32-bit Windows 2003 Server:
For the small Notes shop with maybe 100 to 500 concurrent users:
Linux & Domino
Windows 2003 Server
768MB - 1 GB
1.5 - 2 GB
Hard Disk :
10 GB to 500 GB typical
12 GB to 502 GB typical
Domino 8.x is considered to be running SMTP, HTTP, and IMAP plus all the standard running tasks including LDAP, Router, Replicator, etc.
It is assumed to be serving some number of "uncounted users" of anonymous SMTP and HTTP traffic.
The hard disk requirement is basically is 2 GB less on Linux then adding the users' mail files and the "big" custom apps.
We tested and run Lotus Domino on Linux on RedHat, and Ubuntu (Debian). It is also supported on a number of other platforms.
The Linux install is assumed to not be running a GUI (Gnome) by default, but be running Domino on the Java Controller so that the Console on the server is an option.
For Heavily Loaded (500 to 1000 concurrent users)
Linux & Domino
Windows 2003 Server
1 CPU *
1.5 - 2 GB
3 GB (max limit of O/S - 4 if it could)
Hard Disk :
500 - 1000 GB typical
500 - 1000 GB typical
We found that the increased disk space were the mail files and the increased memory handled the extra threads for the server and its Router, SMTP and HTTP tasks on the busier servers.
Domino on Linux could get 3 GB since Domino is 32bit, but the Linux O/S has been 64bit for quite some time and had no close ceiling at the O/S level. The memory savings on the Linux side are due to the memory management of the Linux kernel and the fact that we generally have a "stripped" Linux shell w/ no GUI running/installed. This gives us a system overhead of about 64 Mb instead of 512 Mb to start.
* Since the Linux kernel seems to be "tighter" and obviously smaller than Windows, we found that we need a 2nd CPU for Domino much later in a Linux system than on Windows. Having Linux with shell only (or the GUI not automatically running on startup) gives more system memory overall to Domino and keeps Linux from going "virtual". (In reality, Linux doesn't really use swap quite like that but running out of memory is bad regardless of the platform.) The keys to whether 2 processors are needed are based on the number of anonymous users (Internet mail and web) along with the degree and number of heavy use applications that push the NIF (Notes' Indexing Facility). Domino can handle big applications just fine. It doesn't handle most of the documents changing continuously in a big application with millions or billions of documents; the NIF was not designed/scaled for that.
Detailed Notes Comparing Lotus Domino on Microsoft Windows & RedHat Linux / Ubuntu Linux:
What's needed for just Windows 2003 32-bit (just base services):
Memory: 384 MB - 512 MB
Hard Disk Space: 1.5 GB / 12 GB
We learned the hard way how much the Windows folder accumulates with Automatic Updates enabled. As a Domino server is upgraded rather than migrated between releases, the Windows folder can grow from about a 1.5 GB to 10 GB in about 3 years. Unless you plan on periodically deleting all those hidden files from their 3 locations, the real number is 12 GB. We have one server 5 years old and its Windows folder was about 15 GB. After manually killing the hidden update files, which Microsoft warns against, we were able to reduce it back to just under 1 GB.
What's needed for just RedHat Linux:
Memory: 64 MB - 256 MB w/Gnome running all the time
Hard Disk Space: 256 MB (shell) to 1.25 GB (GUI)
For MW, we don't always install the GUI. For clients and Ubuntu, we tend to install it, as some would want to launch it sometimes. With Ubuntu, having it available seems to be part of the "Ubuntu way".
The O/S memory requirement really depends on
1. If the full GUI is running -- in our case the Gnome desktop then say at least 256 Mb instead of maybe 64 Mb.
2. Realization that Linux is not Windows or DOS. You cannot just use how much is free right now. The amount of memory it uses is close to the amount installed with maybe 10% free. In other words, it keeps past disk items read into memory around - changes are made to the cached files in memory and finally flushed or written to disk when newer cached content moves off the oldest. It flushes them by using the sync which writes any updated files in the background. So how much you need depends on how long you want to keep cached stuff. The actual swap partition is used differently as it is generally used for "anonymous" cached files that aren't "backed" up by a real file -- temp stuff.
If you are going to fully run a really busy VM-based Lotus Domino server of 500-1000 users with a fast single processor, we would suggest at least 1.5-2.0 GB of RAM since most installations are also seeing the other "uncounted" users of SMTP incoming connections and anonymous web site visitors.
Windows Swap Partition:
Since disk drive space is relatively cheap and never is full, we tend to do 1 GB minimum (assuming memory is 1 GB); rather than the "double the memory" recommendation, we do around 1:1 instead.
What's needed specifically for Domino:
Hard Drive Space: 2 GB to the Moon
(how big do you want your applications/databases - e.g. those mail files?)
256 Mb - 1 GB (shell-based Linux compared to full GUI with wiggle windows) + 1.5 GB (for the Notes program files, templates, and system databases with enough room for the average log for a couple weeks) + 100 Mb/user (Here you should put in your number --> how big is a too big for a user mail file?)
Since Domino 8 includes design and data compression, the mail files are smaller than they use to be. With DAOS in 8.5 where the attachments are stored on the file system, you can see another 20% to 80% savings depending on nuts your users are with sending the world big files rather than URLs or links to them. Without DAOS, Lotus 7 shops should see a 10% - 30% savings in harddisk space after upgrading, updating the ODS, enabling the design and data compression, and even after upgrading the mailfiles to the new larger (when uncompressed) mail template. With DAOS, you can see 40-80% additional savings if you are one of those companies whose users go nuts with attachments in e-mail.
Memory: 512mb / cpu
(Lotus' recommendation is right on, at least with 1 and two processors)
First, Domino like Linux seems to like elbow room and will expand to the size of it's tank.
This seemed to give Domino on Linux two advantages:
1. Domino can grow closer to 3 GB for its services (tasks w/threads) since the Linux O/S can see beyond 3 Gb.
2. Since w/o the GUI running and it's small core (typically happy down to 64Mb), that means that Domino can spread out more even if the VM is set to 3 GB.
We cannot say this is 100% the reason right. What we can say is that we see Domino on Linux bigger because it has more room, but also be able to be squished down more if we want to be stingy, because it has more spare room. Our load testing was also using the Server Load Utility which isn't 100% "real" but then my real and anyone else's is always a little off anyway. An real but not recommended way would be to bypass the anti-spam filter and let Domino get that other 99.8% spam messages (up to 2000/user/day), you'll get some really good VM network, memory, and processor ramp ups very nicely on both Linux and Microsoft Windows VMs.
Swap - 2 times physical ram.
This is the "real" Linux O/S requirement. For client VMs, we keep to the rule, for ourselves we generally do a 1:1 as we see maybe half free most of the time.
This document does not strive to give performance to a particular site. These are our internal settings from our own "how far can we go" scenarios in stress testing our VMs and our environment. It doesn't say this is right for you or that you should put your Domino server in a VM. Instead, it is designed to be a quick reference what worked pretty well for Mindwatering that we are sharing in that "open" fuzzy kind of way so that other smaller Notes installations can have a cross-reference. Actual benefits might vary some on your hardware and VM environment.
In the spirt of full disclosure, Mindwatering is a IBM business partner and was, until recently (in 2008), a Microsoft business partner. We have used Lotus Notes and Lotus Domino internally since R5 running on Redhat and Ubuntu Linux when we converted from Outlook ourselves. Our workstations are a mix of Microsoft XP, Ubuntu linux, and Apple OS X workstations, Macbooks, and an iMac. We had a Vista workstation, but restored that system to XP, so our Vista software is "shelf-ware". Our servers are VMWare on iron, Ubuntu linux, Redhat linux, and Mac OS server.
Obviously, the products compared in this document are the copyrights of Vmware, IBM, and Microsoft.