IBM®
Skip to main content
    Country/region select      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerWorks
AIX and UNIX
Information Mgmt
Lotus
New to Lotus
Products
How to buy
Downloads
Live demos
Technical library
Training
Support
Forums & community
Events
Rational
Tivoli
WebSphere
Java™ technology
Linux
Open source
SOA and Web services
Web development
XML
My developerWorks
About dW
Submit content
Feedback



developerWorks  >  Lotus  >  Technical Library
developerWorks

[back to "Optimizing server performance: Port encryption & Buffer Pool settings"]
Test Case #2 Results (sidebar)
These are the results we found when testing how the NSF_BUFFER_POOL_SIZE setting affected memory utilization at different user loads. For each of these tests, we used the same one-CPU, 128MB configurations from the previous test, and also used a one-CPU, 256MB configuration.

System Memory Used
The Perfmon utility reported the system memory available. The graph below shows the total amount of system memory used to meet the specific workload. We calculated the numbers by subtracting the system memory available from the total amount available, leaving the amount of memory used. Then we divided this number by the number of users. You can use the following graph to plan the amount of memory you need at each user count. You can also figure out, based on how much memory you need, the cost of adding an additional user.

System Memory Used chart
We also used the above graph (System Memory Used) to calculate the rate at which the system allocated memory as the number of users increased. We derived this information from the information reported in the Perfmon Utility. This metric reflects the percentage of increase in the use of memory.

At times there were larger jumps in the memory utilized, leaving less system memory available. This was probably due to cached views in the databases. An example of this happened when we transitioned from 100 to 150 users. The results appear in the following table:
User Count
No Buffer Pool setting
Buffer Pool set to 1/4 of memory
Buffer Pool set to 1/2 of memory
1 CPU 256MB
150
71%
39%
30%
46%
200
30%
55%
23%
28%
250
63%
5%
43%
37%
300
10%
49%
0
27%
350
32%
25%
0
27%
400
15%
0
0
52%
Overall System Memory Usage Model
The following graphs illustrate the memory allocation and its relationship to the buffer pool usage for the different NSF_BUFFER_POOL_SIZE specifications; accepting the default, at a quarter of available memory (quart), and at half of available memory (half).
    1 CPU 128 mb NS

    1 CPU 128 mb quart

    1 CPU 128 mb half

    Buffer Pool Used Usage
    The following table illustrates the amount of memory used with each NSF_BUFFER_POOL_SIZE specification, as it related to the user count. We divided the Buffer Pool Used size by the user count to reach this metric. When available memory increases for a given user count, there is an increase in the pool size, up to the maximum amount allowed. The table also shows that the overall average amount of buffer pool memory used was lower when the NSF_BUFFER_POOL_SIZE specification was left at the default specification. At the default specification, the Domino server allocated memory as needed up to approximately a quarter of available memory. This information could help you come up with options to resolve a memory-constrained configuration.
    User Count
    No Buffer Pool setting
    Buffer Pool set to 1/4 of memory
    Buffer Pool set to 1/2 of memory
    1 CPU 256MB
    average
    83K
    105K
    181K
    130K
    maximum
    98K
    114K
    194K
    164K
    In the preceding "Overall System Memory Usage Model" section, you can see how the system used the buffer pool at the various user counts. Looking at the 250-user workload, for example, the maximum amount of the buffer pool used was reached at about 250 users when we didn't specify the NSF_BUFFER_POOL_SIZE setting, and when we specified a quarter of available memory (that is, the maximum that could be allocated was achieved when 250 users were active). After 250 users, the buffer pool can no longer grow and the additional users share the same buffer pool space. In reviewing the usage at half of available memory (a 64MB buffer pool out of a 128MB machine configuration), you can see that the buffer pool did not reach the maximum amount, because the buffer pool used still didn't reach 64MB.

    Memory Allocation: Byte Allocation
    The values in the following table are the amount of memory allocated by the Domino server, divided by the end user count. The Domino server reported this statistic as part of the Domino statistics. The additional calculation reflects the rate at which the system allocated memory based on the current user count.

    The table shows the importance of planning your memory requirements based on the user population. There was a decrease in memory allocation as the user count increased. We included the fixed memory overhead in the metrics, which decreased as the number of users increased. If you have maximized the amount of available memory in your systems, and you cannot currently upgrade them, these benchmarking results can give you some options for dealing with the memory you do have.
    User Count
    No Buffer Pool setting
    Buffer Pool set to 1/4 of memory
    Buffer Pool set to 1/2 of memory
    1 CPU 256MB
    100
    253K
    291
    354
    427
    150
    233K
    251
    355
    363
    200
    237K
    247
    333
    330
    250
    237K
    260
    324
    315
    300
    226K
    247
    0
    283
    350
    215K
    233
    0
    261
    400
    194K
    00
    0
    250

        About IBM Privacy Contact