
 | 

Running iNotes Web Access with reverse proxies and other security features
by Chris Kergaravat,
Kevin Bittner,
and Stephen Power


Level: Intermediate
Works with: Domino
Updated: 12/02/2002

Related link:
More Performance Perspectives
| 
 | 
Most iNotes Web Access sites don't allow their Web users to access mail servers directly from the Internet. Instead, they place the iNotes Web Access server in a secure environment behind reverse proxy servers and firewalls. In addition, many iNotes Web Access sites use Web Mail Redirect, a utility from IBM. Web Mail Redirect allows all your iNotes Web Access users to access their mail files through a single URL. After users log in, the utility redirects them to the servers on which their mail files reside. And as an added security measure, you can protect your site with Secure Socket Layer (SSL).
However, operating an iNotes Web Access environment with all these components comes at a performance cost. Each of these can add a little to response time. Your users may then report their mail is running more slowly—when in fact, the slower performance has nothing to do with iNotes Web Access itself.
In this article, we build an iNotes Web Access configuration piece by piece with reverse proxy (an IBM WebSphere Edge server), firewall, Web Mail Redirect, and SSL. As we add each component, we show how it affects overall site performance. And we discuss how you can modify the Edge server's default configuration settings to optimize it for the iNotes Web Access environment. Our goal is to help you understand all the factors that contribute to end user performance and what you can do to help ensure your own iNotes Web Access site runs at peak efficiency.
This article assumes that you're an experienced iNotes Web Access administrator and are familiar with Domino and WebSphere.
Reverse proxies, firewalls, and Web Mail Redirect—oh my!
Before we begin, let's review some of the terminology we'll be discussing.
- A firewall server protects your intranet from intruders. The firewall connects your intranet to the Internet but only allows trusted users in. This way confidential corporate content can be shared within your company while remaining inaccessible to unknown Web users.
- A proxy server acts as an intermediary between your users and the Internet. This provides additional security, administrative control, and caching. For example, you can set up a proxy server through which your users access Web sites outside your intranet.
- A reverse proxy is a type of proxy server you set up outside the firewall. The reverse proxy allows external Web users to access your intranet. This gives you a single secure and manageable point to control and monitor access to your content. For example, access levels can be set on the reverse proxy instead of on each intranet server. This significantly streamlines administration. It also simplifies user access because the reverse proxy is the single entry point to your intranet.
- Web Mail Redirect is a utility that enables Web browser redirection to a user's mail file based on the user’s credentials at the time of authentication. This allows all users to follow a single link to a common login point and then to be automatically redirected to their mail files (which often reside on different servers). This means users don't have to remember the URLs to their mail servers as long as they know the URL of the reverse proxy. Web Mail Redirect was developed by Gareth Cook of IBM UK. You can download it from the Sandbox.
- SSL (Secure Socket Layer) is the industry-standard method for protecting Web communications. SSL provides data encryption, server authentication, message integrity, and client authentication for TCP/IP connections.
The following illustration shows a configuration with all the above components in place:

As each component (reverse proxy, firewall, Web Mail Redirect, SSL) is added, another step is placed between users and their mail files. Each component performs an action on communication—checking credentials, encrypting data, routing requests. Each action requires time to complete. Further, each computer in this configuration has its own method of caching, establishing sockets and communication threads, and pooling. All this can result in slower "perceived performance" for iNotes Web Access, especially if you use default settings throughout. However, there are ways you can minimize the impact of each component, as we explain in the following sections.
Setting up our test
We conducted our test as a series of steps. First, we simulated a "pure" iNotes Web Access environment with no reverse proxy or firewall. This established a baseline level of performance. We then added a reverse proxy (a WebSphere Edge server). Next, we added a firewall. Finally, we installed Web Mail Redirect and SSL. As we added each component, we carefully measured its impact on overall system performance.
Software and hardware configuration
Our tests ran the following software:
- Domino 5.0.9a server (the most current release when we started our test)
- LoadRunner 7.0.1
- WebSphere Edge 2.0
- IBM SecureWay Firewall 4.1
As shown in the preceding illustration, we used two mail servers in our test. One was an IBM Netfinity 5000 with four 550 MHz processors, 1 GB RAM, and 92 GB disk space. It ran Windows NT 4.0 with SP6. The second was an IBM RS/6000 SP Silver Node with four 332 MHz processors, 2 GB RAM, and 36 GB disk space. This server ran IBM’s AIX version 4.3.2.
The user load drivers (labeled Simulated Web users in the illustration) were IBM MPro PCs with a single PIII 500 MHz processor, 1 GB RAM, and 18 GB disk space. Each driver ran Windows NT 4.0 with SP6.
The firewall was an IBM PC300PL PC with a single PIII 800 MHz processor, 1 GB RAM, and 28 GB disk space, running Windows NT 4.0 with SP6.
LoadRunner testing
We used LoadRunner 7.0.1 in our tests to simulate Web user loads placed on iNotes Web Access. LoadRunner is a load-generating tool available from Mercury Interactive. The Web browser used in the testing was Microsoft Internet Explorer 5.5.
We simulated a total of 200 concurrent users, adding them in steps. For each test we ran, we added ten users to the total until we reached 200. We ran each test two minutes apart. Within each test, users were added at a rate of two per minute. This allowed us to build up the user load over a period of approximately 40 minutes. After we reached 200 users, we continued the test for an hour. At its conclusion, we stopped all users simultaneously.
User actions
Each simulated user in our tests performed the following operations on a mailbox:
- Log on to the iNotes server using a unique name and password combination.
- Open the iNotes Inbox belonging to the user.
- Every fourth time the Inbox is opened, create an email message. Access the standard Notes name picker to simulate name selection. Generate and mail standard ten-word message.
- Read five random messages.
- Delete one message out of every 15.
- Move two messages to another folder.
- Every fourth time the Inbox is opened, schedule an appointment. Use a standard future time and date, and access the Notes name-picker to simulate name selection.
- Every fourth time the Inbox is opened, schedule a meeting. Use a standard future time and date, and access the Notes name-picker to simulate name selection.
- Every fourth time the Inbox is opened, accept an invitation to a meeting.
- Log out of the iNotes session, wait a random length of time (not to exceed one minute), and log back in again to restart the process.
Each action listed above was separated from the previous one by a short interval. This was anywhere between 15 and 45 seconds.
iNotes Web Access only
As mentioned earlier, in the first test we simulated a "pure" iNotes Web Access environment, in which users connected directly to their mail files (no reverse proxy, firewall, or Web Mail Redirect). We did this to establish a baseline performance against which we could compare the impact of adding other components. To do this, we conducted a test using 200 simulated concurrent users (with 750 registered users and mailboxes) in a direct connection between client and mail server. Because we were primarily interested in establishing a performance baseline, we didn't need to closely simulate an actual customer environment. So to simplify setup, we connected our users to the server via a local network rather than the Web. (Of course, real iNotes Web Access users typically connect through the Web, as the product name implies!)
Our tests ran the LoadRunner user loads on the hardware and software configurations described previously in this article. The following table lists results we obtained, showing how long each user action took on average. As with all tables in this article, all values are in seconds:
User action | iNotes |
Accept invitation | 0.92 |
Create message | 1.50 |
Schedule appointment | 1.84 |
Schedule invitation | 1.68 |
Delete message | 0.82 |
Login | 10.6 |
Log out | 0.07 |
Move mail to folder | 0.90 |
Open Inbox | 0.61 |
Read message | 0.27 |
From this data, we decided that the acceptable response time for any single user action should not exceed five seconds. The one exception was login. This requires authentication and a one-time download of client-side JavaScript, which consume significantly more time than other user actions.
Adding the reverse proxy server
The first component we introduced to our original "vanilla" system was a WebSphere Edge 2.0 reverse proxy server, running on an IBM Netfinity 7000 M10 with four 550 MHz processors, 2 GB RAM, and 72 GB disk space. The operating system was Windows 2000.
Initially, we ran our reverse proxy test using default settings for all hardware and software. The results are shown in the following table, alongside our baseline numbers for comparison:
User action | iNotes | Reverse proxy
(defaults) |
Accept invitation | 0.92 | 39.1 |
Create message | 1.50 | 98.3 |
Schedule appointment | 1.84 | 114 |
Schedule invitation | 1.68 | 97.7 |
Delete message | 0.82 | 45.7 |
Login | 10.6 | 116 |
Log out | 0.07 | 65.1 |
Move mail to folder | 0.90 | 52.2 |
Open Inbox | 0.61 | 57.5 |
Read message | 0.27 | 23.8 |
There's no point in trying to sugar-coat these statistics. One glance should tell you that they're drastically slower than our baseline results. Fortunately, we can perform some optimization that significantly improves these numbers. To do this, we made the following changes to the Edge server's configuration file (ibmproxy.conf):
- Comment out AccessLog
- Comment out ProxyAccessLog
- Comment out CacheAccessLog
- Set MaxActive Threads to 300
- Set MaxPersistRequest to 10
- Set ServerConnPool to On
- Set CacheMemory to 400 MB
- SetCacheDev to 10 GB
For information on how to add these settings to ibmproxy.conf, consult the WebSphere documentation.
We then ran tests with the optimized reverse proxy and received the following results:
User action | iNotes | Reverse proxy
(defaults) | Reverse proxy (optimized) |
Accept invitation | 0.92 | 39.1 | 2.10 |
Create message | 1.50 | 98.3 | 5.20 |
Schedule appointment | 1.84 | 114 | 4.76 |
Schedule invitation | 1.68 | 97.7 | 3.70 |
Delete message | 0.82 | 45.7 | 2.35 |
Login | 10.6 | 116 | 12.2 |
Log out | 0.07 | 65.1 | 0.27 |
Move mail to folder | 0.90 | 52.2 | 1.94 |
Open Inbox | 0.61 | 57.5 | 1.55 |
Read message | 0.27 | 23.8 | 0.73 |
As you can see, these figures represent a vast improvement compared to "out of the box" performance. Response was still slower than when using iNotes Web Access without a reverse proxy, but except for login, did fall within our five-second criterion.
These figures clearly indicate the performance advantage gained by modifying the default settings listed above. But which of these settings had the biggest single impact? To find out, we restored the default settings and adjusted each parameter one at a time. We found the MaxActiveThreads parameter by itself improved response time for non-login actions to the under-five seconds level. As long as we kept MaxActiveThreads equal to or larger than the expected maximum concurrent users, the results were within target range. We tested this by increasing the number of users to 400 and setting MaxActiveThreads to 450, keeping every other setting at the default. Performance was comparable to 200 users at MaxActiveThreads=300.
Adding the firewall
For the next test, we added an IBM SecureWay Firewall 4.1 between the Edge reverse proxy server and the Domino server. In addition, the external clients and reverse proxy were moved off the primary network onto a separate sub-network. We configured the sub-network to imitate actual Web users accessing the reverse proxy server and the reverse proxy accessing iNotes Web Access through a corporate firewall.
The firewall ran on an IBM PC300PL PC with a single PIII 800 MHz processor, 1 GB RAM, and 28 GB disk space. The operating system was Windows NT 4.0 with SP6. The firewall had a significant impact in terms of percent of increase on some transactions:
User action | iNotes | Reverse proxy
(optimized) | Firewall | Percent change |
Accept invitation | 0.92 | 2.10 | 2.46 | 16.7% |
Create message | 1.50 | 5.20 | 6.29 | 59.7% |
Schedule appointment | 1.84 | 4.76 | 5.38 | 12.3% |
Schedule invitation | 1.68 | 3.70 | 4.77 | 29.0% |
Delete message | 0.82 | 2.35 | 2.26 | 0.53% |
Login | 10.6 | 12.2 | 12.3 | 0.15% |
Log out | 0.07 | 0.27 | 0.33 | 23.5% |
Move mail to folder | 0.90 | 1.94 | 2.35 | 23.0% |
Open Inbox | 0.61 | 1.55 | 1.71 | 12.3% |
Read message | 0.27 | 0.73 | 0.99 | 39.3% |
In the preceding table, the Percent change column shows the difference in response time between running the optimized reverse proxy configuration without the firewall and running with it. Also note that for this test, we did not attempt any fine-tuning of the firewall.
The impact of the firewall on the iNotes Web Access perceived performance is clear. However, most sites consider a firewall necessary for almost every enterprise Web application. There are a wide variety of commercially available firewall products and platforms, each with different performance characteristics. The addition of any firewall should be carefully measured and its impact on transactional times studied closely before putting your firewall configuration into production.
Adding Web Mail Redirect
Web Mail Redirect enables Web browser redirection to a user's mail file, based on the user’s credentials at the time of authentication. This allows all users to follow a single link to a common login point, and then to be automatically redirected to their unique mail files. You can download Web Mail Redirect from the Sandbox.
Before we started our test, we applied the efix 9 patch to the Edge reverse proxy server (obtained from WebSphere Support). This patch was specifically created to use the Edge server as a reverse proxy in this configuration. This patch updates the ibmproxy.conf file with new parameters and also requires some additional proxy configurations. These additions are explained in the efix 9 readme file.
In addition, we enabled the following directives in the ibmproxy.conf file:
----Junction URL Rewrite Plug-in ----
ServerInit d:\PROGRA-1\IBM\edge\cp\lib\plugins\mod_rewrite\mod_rw.dll:modrw_init
Transmogrifier
d:\PROGRA-1\IBM\edge\cp\lib\plugins\mod_rewrite\mod_rw.dll:modrw_open:modrw_write:modrw_close:modrw_error
JunctionRewrite on
Ideally, we would have tested Web Mail Redirect installed in a homogenous environment consisting of two Domino servers. The primary server would hold the Web Mail Redirect application and some mail files, the second server would contain the remaining user mail files. However, the only other server available to us ran a different operating system, which may have introduced platform-specific differences in the statistics. So we conducted this test in two phases. In the first, mail files were distributed between both servers. (This configuration is referred to in our results as Redirect multi.) In the second phase (designed to eliminate platform differences), we tested users whose home mail files resided on the primary server. The Web Mail Redirect was still accessed to provide the user linkage to the mail file. (We refer to this configuration as Redirect single.)
We began this test by adding a second Notes mail server. Initially, the test ran with 200 concurrent users, 100 users per server:
User action | iNotes | Reverse proxy
(optimized) | Firewall | Redirect multi |
Accept invitation | 0.92 | 2.10 | 2.46 | 1.69 |
Create message | 1.50 | 5.20 | 6.29 | 2.90 |
Schedule appointment | 1.84 | 4.76 | 5.38 | 2.90 |
Schedule invitation | 1.68 | 3.70 | 4.77 | 2.91 |
Delete message | 0.82 | 2.35 | 2.26 | 1.59 |
Login | 10.6 | 12.2 | 12.3 | 10.6 |
Log out | 0.07 | 0.27 | 0.33 | 0.18 |
Move mail to folder | 0.90 | 1.94 | 2.35 | 1.62 |
Open Inbox | 0.61 | 1.55 | 1.71 | 1.02 |
Read message | 0.27 | 0.73 | 0.99 | 0.64 |
As you can see, adding Web Mail Redirect to our configuration actually improved overall performance. However, we were unable to tell whether the improvements were produced by Web Mail Redirect, were a result of the reduced workload per server, or were caused by a better performing operating system on one of the servers. To try to determine a truer comparison, we ran a second test that accessed the entire user load (200 concurrent users) on the primary server. Web Mail Redirect was still used to direct access to the appropriate mail file. The following table shows the results we obtained in the column labeled Redirect single:
User action | iNotes | Reverse proxy
(optimized) | Firewall | Redirect
multi | Redirect single |
Accept invitation | 0.92 | 2.10 | 2.46 | 1.69 | 2.59 |
Create message | 1.50 | 5.20 | 6.29 | 2.90 | 4.62 |
Schedule appointment | 1.84 | 4.76 | 5.38 | 2.90 | 5.92 |
Schedule invitation | 1.68 | 3.70 | 4.77 | 2.91 | 5.77 |
Delete message | 0.82 | 2.35 | 2.26 | 1.59 | 2.03 |
Login | 10.6 | 12.2 | 12.3 | 10.6 | 10.5 |
Log out | 0.07 | 0.27 | 0.33 | 0.18 | 0.31 |
Move mail to folder | 0.90 | 1.94 | 2.35 | 1.62 | 2.10 |
Open Inbox | 0.61 | 1.55 | 1.71 | 1.02 | 1.50 |
Read message | 0.27 | 0.73 | 0.99 | 0.64 | 0.94 |
As the preceding table shows, our Redirect single test configuration produced mixed results. For seven of our ten user actions, we witnessed performance improvements ranging from small to significant, when compared to our tests without Web Mail Redirect. For three actions (accept invitation, schedule appointment, and schedule invitation) adding Web Mail Redirect slowed response time. It's interesting to note that of these three, the two schedule-related actions involve name lookup activity, which can significantly slow response. (Creating a message also requires name lookup.)
We concluded that Web Mail Redirect has a mixed effect on iNotes Web Access and Edge reverse proxy server interoperability. The benefit of multiple servers, each with an individual lower concurrent user load than a single iNotes server, seems very apparent.
Adding SSL
The final ingredient we "threw into the stew" was SSL. We created a self-administered SSL certificate, using Domino’s Certificate Authority and Certificate Administration databases. We registered the certificate with the Edge server, using the IBM Key Management SSL certificate administration tool. We also used Key Management to create an SSL certificate on the Edge server, and then certified it in Domino. To ensure that the certificates were installed correctly, we used Web browsers to access both servers from each other. In addition, client drivers also accessed the iNotes Web Access server through the Edge reverse proxy server manually to incorporate the servers' SSL certificates. Also note that:
- All SSL configuration was done through software. We did not use hardware accelerator cards in this test.
- The Domino server was set up to accept only SSL requests. The Edge server's ibmproxy.conf file was similarly configured to accept only SSL requests.
- Our standard user load and transactions (described earlier in this article) were run against the Domino server.
Without Web Mail Redirect
The following table displays the results of our first SSL test, which did not include Web Mail Redirect in its configuration. The Percent increase column shows the percentage by which response time increased when we added SSL to our previous configuration (running the reverse proxy and firewall):
User action | iNotes | Reverse proxy
(optimized) | Firewall | SSL | Percent increase |
Accept invitation | 0.92 | 2.10 | 2.46 | 3.70 | 50.4% |
Create message | 1.50 | 5.20 | 6.29 | 7.58 | 20.5% |
Schedule appointment | 1.84 | 4.76 | 5.38 | 10.6 | 97.0% |
Schedule invitation | 1.68 | 3.70 | 4.77 | 10.6 | 122% |
Delete message | 0.82 | 2.35 | 2.26 | 4.32 | 91.2% |
Login | 10.6 | 12.2 | 12.3 | 11.9 | -3.25% |
Log out | 0.07 | 0.27 | 0.33 | 1.31 | 297% |
Move mail to folder | 0.90 | 1.94 | 2.35 | 3.50 | 48.9% |
Open Inbox | 0.61 | 1.55 | 1.71 | 4.70 | 175% |
Read message | 0.27 | 0.73 | 0.99 | 0.81 | -18.2% |
Two user actions actually decreased in response time under SSL. While the decrease for login was very small, the decrease for read message is significant enough to deserve further investigation. Three actions saw increases exceeding 100 percent, while two others came close to that level. However, most actions (other than login) remained below our five-second threshold for acceptable performance.
With Web Mail Redirect
For our next SSL test, we included Web Mail Redirect. Our test setup was identical to the second Web Mail Redirect test (which we called Redirect single) with the exception that all traffic was HTTPS instead of HTTP. The following table summarizes our results (for the sake of clarity, we've omitted the columns for the iNotes baseline and reverse proxy tests):
User action | Firewall | Redirect single | SSL | SSL with
Redirect | Increase over firewall | Increase
over Redirect |
Accept invitation | 2.46 | 2.59 | 3.70 | 4.13 | 68.8% | 60.1% |
Create message | 6.29 | 4.62 | 7.58 | 7.86 | 24.9% | 70.1% |
Schedule appointment | 5.38 | 5.92 | 10.6 | 11.6 | 115% | 95.6% |
Schedule invitation | 4.77 | 5.77 | 10.6 | 11.5 | 140% | 98.9% |
Delete message | 2.26 | 2.03 | 4.32 | 4.46 | 97.7% | 119% |
Login | 12.3 | 10.5 | 11.9 | 12.7 | -3.38% | 20.3% |
Log out | 0.33 | 0.31 | 1.31 | 1.34 | 312% | 339% |
Move mail to folder | 2.35 | 2.10 | 3.50 | 3.70 | 57.6% | 76.4% |
Open Inbox | 1.71 | 1.50 | 4.70 | 4.89 | 186% | 225% |
Read message | 0.99 | 0.94 | 0.81 | 0.90 | -8.90% | -4.44% |
The two columns labeled Increase over firewall and Increase over Redirect show how much running SSL with Web Mail Redirect increased response time compared to the Firewall and Redirect single columns respectively. Note that the two user actions that decreased under the SSL/Redirect combination are the same two that decreased in the previous SSL test. This pattern needs further investigation as to why these areas worked differently than we expected.
All other actions produced slower response times with five increasing near or over 100 percent compared to our firewall test results. But except for login, most actions still remained below our five-second criterion for acceptable performance.
What we discovered
The most important thing we learned from our study is that any iNotes Web Access environment should be carefully studied and designed for optimal performance before adding any component discussed in this article. Adding a WebSphere Edge reverse proxy server, firewall, SSL, and/or Web Mail Redirect (singly or in any combination) will significantly affect overall system performance. The following table summarizes the impact of adding each component to our test configuration:
User action | iNotes | Reverse proxy
(optimized) | Firewall | Redirect single | SSL | SSL with
Redirect |
Accept invitation | 0.92 | 2.10 | 2.46 | 2.59 | 3.70 | 4.13 |
Create message | 1.50 | 5.20 | 6.29 | 4.62 | 7.58 | 7.86 |
Schedule appointment | 1.84 | 4.76 | 5.38 | 5.92 | 10.6 | 11.6 |
Schedule invitation | 1.68 | 3.70 | 4.77 | 5.77 | 10.6 | 11.5 |
Delete message | 0.82 | 2.35 | 2.26 | 2.03 | 4.32 | 4.46 |
Login | 10.6 | 12.2 | 12.3 | 10.5 | 11.9 | 12.7 |
Log out | 0.07 | 0.27 | 0.33 | 0.31 | 1.31 | 1.34 |
Move mail to folder | 0.90 | 1.94 | 2.35 | 2.10 | 3.50 | 3.70 |
Open Inbox | 0.61 | 1.55 | 1.71 | 1.50 | 4.70 | 4.89 |
Read message | 0.27 | 0.73 | 0.99 | 0.94 | 0.81 | 0.90 |
We also learned that:
- Optimizing WebSphere Edge Server configuration settings in the ibmproxy.conf file significantly improved performance. The parameter with the single biggest impact was MaxActiveThreads.
- Web Mail Redirect affects the mail server it resides on. However, Web Mail Redirect will likely always be installed in multiple mail server environments. If done properly, this should decrease response time by distributing the iNotes Web Access mail load.
- Accurately assessing the overall performance effects of running SSL is a complex issue. In our tests, we used software-based SSL, rather than hardware accelerator cards (which may improve performance). Also, we ran SSL both for client-to-server and server-to-server communications. Some sites (particularly those with firewalls between their reverse proxy and iNotes servers) may decide to only encrypt traffic between clients and the reverse proxy because this probably has a greater risk of being intercepted.
- Each component in our test ran on its own hardware, which may not be typical of all real customer sites. You may be able to run the reverse proxy and firewall on the same hardware, reducing network traffic and potentially improving response times.
Overall, the addition of the WebSphere Edge server, firewall, SSL, and Web Mail Redirect performed largely as we expected. As we added each component, user response times increased. However, most action times remained acceptable, even with all components installed.
We hope this article has given you some useful things to think about when designing and implementing your own iNotes Web Access environment. Let us know if there's more you would like to learn in this area, and we'll try to provide it in a future article.
ABOUT CHRIS KERGARAVAT
Chris Kergaravat is a Consulting IT Architect at IBM Software Solutions for Lotus. She has been with Lotus/IBM for 15 years. Chris has been involve in Notes application development since Notes 2.0.
ABOUT KEVIN BITTNER
Kevin Bittner is a Test Engineer in Product Introduction Engineering. He started with Lotus over 12 years ago as a 123/Unix support analyst, and has been involved in customer support for most of his career at Lotus.
ABOUT STEPHEN POWER
Stephen Power is an IT Architect with IBM Software Services for Lotus. He assists customers in deploying and integrating Lotus and IBM software in e-business infrastructures. Steve has worked extensively deploying the Lotus family of collaborative products and integrating these products with the IBM WebSphere product family. | 
 |