Novell is now a part of Micro Focus

GroupWise 5.2 Performance Tuning and Capacity Planning

Articles and Tips: article

BILL STREET
Product Manager
Novell Collaboration Services Group

CHUNG TAM
Manager, Internet Solutions Business Unit
Compaq Computer Corporation

01 Aug 1998


Tests at Novell's SuperLab have yielded dozens of ways to supercharge GroupWise.

Introduction

Performance management can only be successfully achieved by fully understanding the performance impact of system resources such as the system processor, memory, and disk subsystem components on the operation of your system. This paper will help you better understand the relationship between system resources and GroupWise performance, facilitating informed server configuration decisions can be made when upgrading or when purchasing a new system.

This AppNote provides suggestions for improving Novell GroupWise 5.2 for intraNetWare performance and recommends appropriate server hardware for GroupWise 5.2 running on Novell intraNetWare. The performance test and data analysis were conducted by Compaq and Novell Engineers in a closely controlled environment. This information is for system integrators and network administrators with a knowledge of Compaq server products, Novell GroupWise 5.2, and Novell intraNetWare. It supplements the Compaq Hardware Reference document and the GroupWise 5.2 documentation.

This AppNote covers the following topics:

  • Performance management and capacity planning overview

  • Description of testing methodology

  • Guidelines for planning memory and the disk subsystem requirements

  • Recommendations on user load variances and stress testing--as well as server-specific results such as the monitoring and utilization of the system, processor, memory, and disk subsystem

  • Performance tuning guidelines

  • Performance comparison of running GroupWise 5.2 on Windows NT

The information presented here is a follow-up to that presented in "Novell GroupWise Performance Management on Compaq Servers" in the June 1998 issue of Novell AppNotes.

Performance Management and Capacity Planning

Capacity planning is closely tied to performance management. Capacity planning determines the balance between your GroupWise 5.2 workload and its configuration at minimum cost, while meeting necessary user response time objectives. The goal of capacity planning is to find the best server and equipment to cost-effectively meet network workload demands and performance requirements. Capacity planning allows you to balance demand and supply—the demand for present and anticipated workload and the supply of present and future computer resources. A basic objective is consistent and acceptable user response times.

GroupWise performance depends on the number of users on the system, the operating environment of the server and workstations, and the bandwidth and speed that are available to the physical network. The type of server, NICs, and cabling systems play an important role in how the network operates under heavy traffic conditions.

In capacity planning, the planner must balance complex, vague, and sometimes confusing data about workload, user needs, and computer resources, devise a coherent plan, and make these needs known to others. Although capacity planning requires the use of statistical data and mathematical techniques, it also requires a planner with practical experience and expert-level knowledge of the computer industry. It is not an exact science.

Importance of Capacity Planning

Poor planning, whether it is over-estimating or under-estimating your computer resource needs, affects the corporate "bottom line." Planning for sufficient computer capacity is an ongoing process that allows you to avoid both overspending and insufficient capacity.

In the current drive to reduce corporate spending, allowance for the planning function is sometimes trimmed or even overlooked. However, reducing or neglecting this task risks a poorly planned GroupWise implementation with insufficient capacity. In this case, the GroupWise administrator spends a large amount of time, effort, and cost in fire drills—reacting to user and management complaints and creating short-term fixes rather than providing critical support, development, and strategic planning functions.

The amount of time, effort, and cost spent properly planning the GroupWise implementation will be worth the investment when the system adequately meets user response-time expectations and optimally utilizes system resources.

Components of a Basic GroupWise System

A basic GroupWise system consists of a single domain with one post office and one or more users. Each GroupWise user has a mailbox in the post office. Users run the GroupWise client to access their mailbox and to send mail to and receive mail from other users. The GroupWise agents deliver messages between users' mailboxes in a post office, and route messages between post offices in a multiple post office system (see Figure 1).

Figure 1: Components of a basic GroupWise system.

In a basic GroupWise system like the one shown in Figure 1, it is fairly easy to see why the post office, client, and agents are necessary. The domain serves two purposes:

  • In a multiple post office system, the domain organizes post office into a logical grouping for addressing and routing purposes. Each user in the domain has an address that consists of the domain name, the user's post office name, and the user's GroupWise ID(domain.po.userID).

  • The domain functions as the main administration unit for the GroupWise system. When you add GroupWise information (such as other domains, post offices, and users) through NetWare Administrator, it is stored in Novell Directory Services and the GroupWise domain database. From the database GroupWise information is then distributed to each post office database.

The domain/post office architecture enables you to scale your GroupWise system to meet your current needs and future needs. It also enables you to configure GroupWise to best accommodate your organization.

Test Methodology

The tests were performed in Novell's Super Laboratory (SuperLab), a state-of-the-art testing facility that is available to developers and third-party testing groups. SuperLab consists of more than 1,700 computers, with the ability to configure complex topologies using various LAN and WAN technologies. The SuperLab is designed to allow testing groups to conduct large-scale product testing to resolve issues not encountered in typical lab environment.

The benchmark tool used during the test was developed by Novell engineers. It tool provides a means for customers to make a comparison of GroupWise running on different hardware and under various load conditions.

Test Environment

The table below shows the configurations of each Compaq server tested.


System
Processor
Memory
Network Adapter
Hard Disk

Compaq Prosignia 200

Pentium II 233

128MB EDO

3x CompaqNetelligent100 TX

1x 2.1GB with a Wide-Ultra SCSI Controller

Compaq ProLiant 1600

Pentium II 266

128MB EDO

3x CompaqNetelligent100 TX

3x 2.1GB disks in a RAID 0configuration with aSMART-2/P Controller

Compaq ProLiant 3000

Pentium II 300

128MB EDO

3x CompaqNetelligent100 TX

3x 2.1GB disks in a RAID 0configuration with aSMART-2/P Controller

Compaq ProLiant 6500

Pentium Pro200/512K

128MB EDO

3x CompaqNetelligent100 TX

3x 2.1GB disks in a RAID 0configuration with aSMART-2/P Controller

Compaq ProLiant 7000

Pentium Pro200/512K

128MB EDO

3x CompaqNetelligent100 TX

3x 2.1GB disks in a RAID 0configuration with aSMART-2/P Controller

The test bed used for this GroupWise performance test consists of a system under test and a number of users that generate the mail load. The software used for the system under test was NetWare 4.11 with GroupWise 5.2. The clients ran Windows 95 with the GroupWise 5.2 Client for Windows 95.

Test Procedure

The test runs an automated test script. During the test, each client sends 20 messages to three recipients randomly picked by the client. In the test, Compaq and Novell engineers analyze network server/environment performance and collect baseline statistics. The NetWare MONITOR.NLM utility monitors system resources. Novell also provides a custom utility called STAT.NLM for logging statistics during the test process. The test results are collected through GroupWise log file.

Subsystem Performance Comparison

This section offers guidelines for getting optimum performance/value from your Compaq server. These guidelines are based on tests designed by Compaq and Novell engineers. The tests are based on the analysis of the data gathered from Novell's in-house benchmark testing. This section describes each subsystem, presents the data collected from the test, and gives recommendations for the configuration of your Compaq server.

The subsystems to be discussed include:

  • System Processor

  • Memory

  • Disk

System Processor

In a NetWare resource-sharing environment, network adapters, hard drive subsystems, and the amount of system memory are considered as more significant performance factors than the speed or type of system processor running in the server. However, for GroupWise, the system processor plays the most important role in performance tuning.

Pentium Pro vs. Pentium II. In the test, the performance of the Intel Pentium Pro processors was compared to Pentium II processors, the newest addition to Intel's line of sixth-generation microprocessors. The Pentium II processor is based on an Intel Pentium Pro processing core with the addition of faster core frequencies, a new form factor, a new cache structure, and multimedia extension(MMX) instruction.

As the test results in Figure 2 illustrate, the high core frequencies of the Pentium II processor enhance the performance of the Compaq system when used in a CPU-intensive environment.

Figure 2: Results of CPU performance tests.

As these results show, 30 percent more messages can be delivered by the Pentium II processor at 300 MHz than by a Pentium Pro processor at 200 MHz. The high core frequencies can mean significant performance increase in a CPU-bound environment.

Level 2 Cache. Level 2 cache memory is the high-speed Static RAM that resides between the CPU and the main system memory. Level 2 cache stores snapshots of the most recently used system memory regions in fast static RAM memory, so it is available to the processor immediately. Since Level 2 cache memory returns information to the processor faster than system memory, the processor spends less time waiting for the main system memory to return data and more time doing real processing work. In the Pentium Pro processor, the L2 cache connects to the processor via a 64-bit data bus operating at the processor core frequency.

During the Level 2 cache test, the number of active users was held to 70 on a Compaq ProLiant 7000 system. The Level 2 cache configuration varied from 256KB through 1024KB (see Figure 3). The PL7000 was configured using a SMART-2/P disk array controller. A RAID 0 array of three striped drives was used as the NetWare volume.

Figure 3: Results of Level 2 cache performance tests.

The data charted in Figure 3 show that upgrading a server Level 2 cache from 256KB to 1024KB increases the system level performance by 5%. When applications are executing, multiple system functions occur concurrently. With these functions occurring at the same time and each function able to benefit from Level 2 cache, the increased Level 2 cache gives each function more cache to utilize. This additional cache then increases the cache hit ratio and thereby increases overall performance and productivity. Cache performance can impact overall system performance, especially in multiprocessor configuration and in systems used in very memory-intensive application such as large database applications.

System Memory

The total amount of server memory has great impact on the overall performance of the system. The memory requirement for GroupWise 5.2 varies depending on many factors. Testing helps customers better understand the performance impact of adding memory. Keep in mind that providing more memory than is required can actually slow performance, because it means there is a larger pool of memory resources that the system and the processor must manage.

During the memory test, the number of active users was held to 70 on a Compaq ProLiant 3000 Pentium II 300 with 512K cache. Memory configuration varied from 64MB through 512MB (see Figure 4). The PL3000 was configured using a SMART-2/P disk array controller. The NetWare volume was on a RAID 0 array of three striped drives.

Figure 4: Results of memory performance test.

Note that performance improved 50 percent by doubling 64MB of memory to 128MB on the system. However, increasing memory beyond 128MB has minimal impact on performance. More memory is not necessarily always better; a system without a proper memory configuration may experience performance degradation.

Memory Recommendations. Compaq and Novell engineers have provided the memory recommendation shown in the table below. These guidelines can be used by the system administrator as a rule of thumb for determining initial GroupWise memory requirements. Once the system is in production, the administrator can use NetWare monitoring tools such as MONITOR.NLM to determine whether a memory upgrade is necessary. Also keep in mind that the memory configuration presented in the table below does not include memory for the NetWare operating system.


Concurrent Users

Actual Server MemoryUsed During Peak Time

RecommendedMemoryConfiguration

100 Active Users(100-250 Users)

42 MB

128 MB

250 Active Users(250-500 Users)

104 MB

192 MB

500 Active Users(500-1000 Users)

116 MB

256 MB

1000 Active Users(1000-2500 Users)

137 MB

512 MB

Disk Subsystem

Key disk subsystem components can play a major part in overall system performance. Novell GroupWise is a very I/O-oriented application, so the disk subsystem is an important contributor to overall system performance. Identifying potential bottlenecks within your disk subsystem is crucial.

Determining disk subsystem impact involves analyzing these options:

  • Fault Tolerance (RAID 0, RAID 1, RAID 4, RAID 5)

  • Accelerator Read/Write Ratio of the Array Controller

  • Cache Memory

  • Volume Block Size

Fault Tolerance. Redundant Array of Inexpensive Disks (RAID) levels are briefly defined below.

RAID 0 - No Fault Tolerance RAID 0 is not true fault tolerance because it does not provide data redundancy, and thus provides no fault protection against data loss. If a logical drive fails, data on that drive will be lost. No logical drive capacity is used for redundant data. RAID 0 is known as "stripe sets" because data is simply striped across all of the drives in the array. This configuration provides high performance at a low cost. However, you incur a risk of possible data loss.

RAID 1 - Drive Mirroring This is typically the highest performance method of fault tolerance. RAID 1 is the only possible option for fault tolerance if no more than two drives are selected. This configuration of mirrored sets of data uses 50 percent of drive storage capacity to provide greater data reliability by storing a duplicate of all user data on a separate disk drive. Therefore, half of the drives in the array are duplicated or "mirrored" by the other half. This RAID level does provide performance equal to or better than RAID 0, but your drive cost doubles because this level requires twice as many disk drives to store the same amount of data. Therefore, it might not be cost-effective for your environment.

RAID 4 - Data Guarding RAID 4 is referred to as "data guarding" because it uses parity data to guard against the loss of data. While this is similar to RAID 5 ("distributed data guarding"), the difference is that RAID 4 writes all of the parity data to a dedicated single drive in the array. If a drive fails, the parity data and the remaining functioning drives with data use the parity information to reconstruct data from the failed drive. But if the drive(s) containing parity information fail, parity drive data cannot be reconstructed.

Space required for parity is on a single drive. For example, if you have a three-drive system, then 33 percent of the total drive space (one drive) would be used for fault tolerance. In this case, two drives would store data, and one drive would store parity data. A maximum of 14 drives can be supported. Of these 14 drives, 7 percent of the total space available or one drive would be used for parity data. Writing all the parity data to a single drive also introduces performance degradation, since parity data is not striped across all drives. Therefore, a disk configuration using RAID 4 for fault tolerance has historically proven to yield performance results at a level below RAID 5 configurations.

RAID 5 - Distributed Data Guarding RAID 5 is commonly called "distributed data guarding" or "stripe sets with parity." This level of RAID divides data into blocks, calculates parity, then writes the data blocks in "stripes" to the disk drives, saving one stripe on each drive for the parity data. This method is cost-effective, with the added benefit of high performance because the parity information is distributed across all the drives. Total disk space used for redundancy is equivalent to the capacity of a single drive. Therefore, the overall cost for this method of fault tolerance is lower than for Disk Mirroring (RAID 1).

Fault Tolerance Test Results The Compaq SMART-2 Array Controller provides high availability, high performance, and fault tolerance for data stored on hard disks. It also provides significant expansion capabilities for large-scale centralized computing, protecting mission-critical data where it has previously been cost prohibitive.

The tests compare the fault tolerance levels of RAID 0, RAID 1, RAID 4, and RAID 5 (see Figure 5). The tests were run on a Compaq ProLiant 6500 with a single Pentium Pro 200 processor and 512MB of RAM. The test had 70 active users. The RAID 0 and RAID 5 tests were performed using three 2.1GB drives in an array. The RAID 1 test was run using six total drives, with three drives mirroring the other three.

Figure 5: Results of fault tolerance tests.

These results show that RAID 1 performed best, outperforming RAID 0 by 5 percent and performing about 30 percent better than RAID 5. Keep in mind that although RAID 0 does utilize available disk space most efficiently, this level provides no protection against data loss. You risk data loss if you choose RAID 0. For systems with critical data, RAID 5 is frequently the best choice because it provides better disk space usage.

Based on these tests, the recommendation for a GroupWise system would be RAID 1 because of the performance gains over RAID 5 combined with hardware fault tolerance.

Array Controller Accelerator Read/Write Ratio. The Compaq Array Controller Configuration Utility offers five options for Read/Write ratio:

  • 0/100

  • 25/75

  • 50/50

  • 75/25

  • 100/0

During the Read/Write Ratio test, the number of active users was held to 70 on a Compaq ProLiant 3000 Pentium II 300 system with 512KB cache. The Read/Write Ratio was configured at 25/75, 50/50, and 75/25 (see Figure 6). The PL3000 was configured using a SMART-2/P disk array controller. A RAID 0 array of three striped drives was used as the NetWare volume.

Figure 6: Results of read/write ration comparison test.

These test results show the Read/Write Ratio of 75/25 achieved best performance, outperforming the other two configurations by 20 to 30 percent. This indicates an optimal Read/Write Ratio of 75/25 for GroupWise because of performance improvement.

Cache Memory. The enhanced Array Accelerator on the SMART-2 Controller has 4 MB of usable cache to offer good performance with optimal cost effectiveness. The enhanced Array Accelerator on the SMART-2/DH Controller has 16 MB of usable cache. With the streamlined architecture of the SMART-2 Controller, these cache sizes provide excellent performance enhancements for sequential, small read requests and small- to medium write requests (see Figure 7).

Figure 7: Results of cache size comparison test.

These results quantified a 7-10 percent performance gain for GroupWise mail activity when upgrading Array Accelerator cache memory from 4MB to 16MB. Therefore, optimizing cache size provides great performance enhancement.

To gain added performance for a GroupWise system, consider using the SMART-2/P Controller with the cache memory upgraded from 4 MB to 16 MB. Upgrading the cache requires replacing the cache board on the SMART-2/P controller with a 16-MB cache board, so customers can maintain their previous hardware investment.

Volume Block Size. One feature of the NetWare operating system is its ability to support large volume blocks. Using a large volume block size increases the performance of almost every associated subsystem, such as disk channel, file cache, directory cache, directory entry table, and file allocation table. This large volume block size does not waste disk capacity when storing lots of small files because of how files are suballocated.

The results shown in Figure 8 display a noticeable improvement in message rates when the volume block size is set to 64KB.

Figure 8: Results of volume block size comparison test.

Compaq and Novell engineers recommend that you always select a volume block size of 64KB because the smaller the block size, the more system memory is consumed to manage the blocks. With the suballocation feature provided in intraNetWare, a block size of 64KB will give you the best performance of file reads and writes without wasting disk space.

Performance Tuning

This section provides performance tuning guidelines in the following areas:

  • Hard disk controller (read-ahead caching, write-back caching, and balanced cache size)

  • GroupWise POA

  • NetWare operating system

Hard Disk Controller

The SMART-2 Controller offers exceptional performance characteristics because of its underlying intelligent I/O architecture that has been streamlined for high performance. The advanced architecture consists of optimized hardware and firmware components working together efficiently, with functions and embedded intelligence distributed across the design.

The enhanced Array Accelerator of the SMART-2 Controller provides significant performance improvement for I/O operations through its read-ahead and write-back caching capabilities.

Read-Ahead Caching. The SMART-2 Controller uses an intelligent read-ahead algorithm that can anticipate data needs and reduce wait time. This adaptive read-ahead scheme provides excellent performance for sequential small block read requests. It overcomes the problem with some array controllers in the industry today that use fixed read-ahead schemes that improve sequential read performance but degrade random read performance.

Write-Back Caching. The SMART-2 Controller also uses a write-back caching scheme that allows applications to continue without waiting for write operations to complete. Without this type of caching, the controller would be forced to wait until write data is actually written to disk before returning completion status to the operating system. With write-back caching, the controller can "post" write data to high-speed cache memory and immediately return completion status to the operating system. The write operation is completed in microseconds rather than milliseconds.

Balanced Cache Size. The enhanced Array Accelerator has 4 MB or 16MB of usable cache to provide good performance with optimal cost effectiveness. With the streamlined architecture of the SMART-2 Controller, these cache sizes provide excellent performance enhancements for sequential, small-size read requests and small- to medium-size write requests.

The Array Accelerator read/write cache ratio can be customized to fit your GroupWise activity using the Compaq Array Controller Configuration Utility. The default setting is 50% Read/50% Write, but several other ratios are possible.

GroupWise POA Optimization

You can adjust how the GroupWise Post Office Agent (POA) functions to optimize its performance. Before attempting optimization, you should run the POA long enough to observe its efficiency and its impact on other network applications running on the same server or workstation. Also, keep in mind that optimizing your network hardware and operating system can have an effect on POA performance.

Number of POA Threads and Connections. Threads are operating system processes. If the POA is configured with client/server processing enabled, it starts TCP handler threads to handle current client/server requests, up to the number of threads specified by the TCP Handler Threads option.

If the POA is not keeping up with the client/server requests from GroupWise client users, you can increase the maximum number of TCP handler threads, so the POA can create additional threads. The default is 6 TCP handler threads (valid values range from 1 to 50). Anticipate about 1 TCP handler thread per 20-30 client/server users. Or just increase the number of TCP handler threads in increments of three to five threads until you achieve acceptable throughput. The optimum number of threads for a POA is affected by many factors, including available system resources.

If GroupWise client users cannot connect to the POA or if response is sluggish, you can increase the maximum number of connections. Connections are the number of "sockets" through which client/server requests are communicated from the GroupWise client to the POA. Application connections are the TCP/IP connections between the POA and the GroupWise clients run by GroupWise users. Each GroupWise user creates one application connection when he or she starts GroupWise. The default is 2048.

Physical connections are created as users perform specific activities in the GroupWise client. If a physical connection is idle for 5 seconds, it terminates—but another one is established on demand. Each GroupWise client user could have zero or multiple physical connections, depending on what activities he or she is doing. The default is 512.

Number of POA Threads for Message File Processing. If the POA is configured for message file processing, it starts the number of threads specified by the Message Handler Threads option. Each thread can perform any POA function. Though the threads are started from the same program, each thread operates independently of the others. For example, one thread may be processing a message, while another thread may be polling the input queue directories in the post office, and another thread may be idle. The default number of message handler threads is 8; valid values range from 3 to 30.

The more message threads the POA uses, the faster it can process GroupWise messages. However, the more threads the POA uses, the fewer resources are available to other processes running on the server or workstation. The optimum number of threads for a POA is affected by many factors, including available system resources. You might consider increasing the number of threads in increments of three to five threads until acceptable throughput is reached.

CPU Utilization for NLM POA. To ensure that it does not dominate the server CPU, the NLM POA has a CPU utilization threshold. The default CPU utilization threshold for the NLM POA is 85 percent. You can change this threshold using the CPU Utilization option. If CPU utilization exceeds the threshold by 5 percent, any idle NLM POA threads remain idle for the number of milliseconds set by the Delay Time option. This cycle continues until CPU utilization drops below the CPU utilization threshold.

To determine the optimum utilization setting for your network, you must consider the amount of available memory, the demands of other network applications, and the type of throughput you want the NLM POA to provide. As you raise the utilization threshold, NLM POA efficiency increases; however, other network applications have fewer available network resources. As you decrease utilization threshold, NLM POA efficiency is reduced; however, the NLM POA cooperates better with other network applications.

The following table provides general guidelines for setting the CPU Utilization and Delay Time settings, based on the amount of memory available on the server where the NLM POA runs. The values in this table are just guidelines. The best way to determine these settings for your network is to experiment.


Memory

Setting

4MB

CPU Utilization: 25Delay Time: 500

8MB

CPU Utilization: 50Delay Time: 300

16+MB

CPU Utilization: 85Delay Time:100

NetWare Operating System Tuning

You should always analyze network server/environment performance and obtain baseline statistics before making any changes to the server.

Packet Receive Buffers. Normally, NetWare dynamically allocates packet receive buffers based on its needs. However, the operating system allows you to set a maximum and minimum number of buffers. Compaq and Novell engineers preset the packet receive buffers to an optimum setting for 10-15 percent performance gain. It is important to monitor the value of the current packet receive buffers to see if the value is close to maximum. If this is the case, you should increase the maximum to account for increased server workload.

However, keep in mind that increasing the minimum Packet Receive Buffers takes system memory from the NetWare memory pool. Also, take care to ensure that increasing this value does not leave the server with too little memory.

Read-Ahead Cache. The read-ahead feature in NetWare provides the requesting workstation faster response when reading files from the server. The operating system anticipates read requests from the workstation and caches the next volume or disk block of a file. Therefore, Compaq and Novell engineers recommend that you enable read-ahead cache to enhance read performance (see Figure 9).

Figure 9: Enhancement of enabling read-ahead cache.

Concurrent Disk Requests. The Concurrent Disk Request values display the number of queued disk requests for the server to process. To enable more efficient read and write requests for your system, you can adjust the maximum number of concurrent disk cache writes. The data charted in Figure 10 illustrates that adjusting the setting of Concurrent Disk Cache will enhance system performance.

Figure 10: Concurrent Disk Cache Writes setting comparison.

Based solely on these test results, we concluded that optimum setting of Concurrent Disk Cache Writes for GroupWise is 300. Currently Compaq and Novell engineers identify three read operations to one write operation as a typical resource-sharing environment. However, you must be aware of your network read-write ratio when you change this parameter.

Running GroupWise 5.2 on Windows NT

GroupWise 5.2 runs not only on NetWare but also on Windows NT. However, to use GroupWise, customers must install at least one NDS server. Since the NDS server doesn't currently run on NT, customers must install a NetWare server even if they want to run GroupWise on NT. (Keep in mind that deploying GroupWise doesn't require as much of a commitment to NDS and NetWare as deploying Exchange does to NT and NT domain.)

Note: Novell is planning to make GroupWise independent of NetWare by using cross-platform NDS. At that time, GroupWise should be able to use NDS without a NetWare server.

The following are the GroupWise 5.2 configurations deployed during our tests:

  • GroupWise Post Offices on a NetWare Server running NetWare NLM, MTA loaded on the same server

  • GroupWise Post Offices on a NetWare Server with the MTA running on Microsoft Windows NT 4.0 application server

  • GroupWise Post Offices on a Microsoft Windows 4.0 NT application server with the MTA running on the same server. Microsoft's high performance NT File System (NTFS) was used instead of ordinary DOS FAT file system.

The results are shown in Figure 11.

Figure 11: Results of NT vs. NetWare NLM comparison test.

These results demonstrate that GroupWise 5.2 on NetWare performed much better than GroupWise 5.2 on Windows NT. Although the results for NT and NTFS were slower than expected, it is adequate to handle any real-world messaging traffic.

Benchmark Conclusions

The following table summarizes the requirements for a single domain containing one post office in terms of POA, processor, memory, and disk subsystem.


Item

Requirement

NetWare 4.1

-GroupWise is administered through NetWare Administrator and NDS. You must have at least one NetWare 4.1 server installed. - NWADMN95.EXE or NWADMNNT.EXE (installed by GroupWise if necessary)

NetWare Administrator and GroupWise Administrator

-Windows 95 workstation with NetWare Client 32 for Windows 95 or WindowsNT 4.0 workstation with NetWare Client 32 for Windows NT - 80486 processor- 16 MB RAM

Domain Disk Space

-1MB

Post Office Disk Space

- 2 MB per user (minimum)-10 MB per user (recommended)

Software DistributionDirectory Disk Space

-275 MB maximum on network directory. This will be less if you choose not to install some GroupWise clients or agents.-No disk space is required if you mount the GroupWise CD as a server volume.

NLM Agents

- NetWare 3.12 or 4.x server - MTA and ADA: 6 MB free disk space, 6.5 MB free RAM- POA: 6 MB free disk space, 5 MB free RAM (1.5 MB if running on same server as MTA or ADA)

NT Agents

- Windows NT 3.51 server or workstation - MTA and ADA: 4.5 MB free disk space, 6 MB free RAM- POA: 4.5 MB free disk space, 5 MB free RAM (1.5 MB if running on samemachine as MTA or ADA)

Windows 95 GroupWiseClient

- Windows 95 workstation or Windows NT 4.0 workstation - 80486 processor (minimum) - 24 MB free disk space to run from local drive - 5 MB free disk space to run from network drive - 8 MB RAM

Windows 3.1 GroupWiseClient

-Windows 3.1 workstation or Windows 95 workstation-80386/33 processor-20 MB free disk space to run from local drive-1 MB free disk space to run from network drive - 8 MB RAM

System Processor Summary

The tests clearly show that the system processor is the most important server subsystem affecting overall system performance of the GroupWise 5.2 system. The faster the system processor is, the better the system performance gain will be. Therefore Compaq and Novell engineers recommend the fastest processor that can be purchased within the budgetary limitations of your project.

Compaq provides servers featuring Pentium II technology. The higher core frequencies of the Pentium II processor bring enhanced performance to Compaq's system used in CPU-intensive application. However, keep in mind that the Pentium II processor is not targeted for use in all application environments. The Pentium Pro processor remains the primary processor for Compaq servers used in memory-intensive applications and systems employing more than two microprocessors.


Concurrent Users

Recommended Compaq System

50 Active Users0-100 Users

ProSignia 200 The ProSignia 200 family features the 233 Mhz Pentium IIProcessor. This server is designed for small and medium-sized businesses.

100 Active Users100-250 Users

ProLiant 1600 The ProLiant 1600 supports to two 266 MHz Pentium IIprocessors.

250 Active Users250-500 Users

ProLiant 3000 The ProLiant 3000 features a 300 MHz Pentium IIprocessor (upgradeable to dual processors).

500 Active Users500-1000

ProLiant 7000 or ProLiant 6500 The ProLiant 6500 and ProLiant 7000 features Pentium Proprocessor(up to four 200MHz processors with 512KB or1024KB level 2 cache per processor)with the power andbreakthrough availability to support the most demanding7x24 environment.

1000 Active Users2500+ Users

ProLiant 7000 or ProLiant 6500 The ProLiant 6500 and ProLiant 7000 features Pentium Proprocessor (up to four 200MHz processors with 512KB or1024KB level 2 cache per processor ) with the power andbreakthrough availability to support the most demanding7x24 environment.

Memory Configuration Summary

The memory requirements are upper limits for a high usage messaging system. The memory required on a server for GroupWise 5.2 varies depending on many factors and the mathematical calculation techniques presented below may not be used as an absolute tool for calculating memory requirements. A GroupWise system will run with less than the maximum amount of memory, but it will perform better with adequate memory. Memory amounts stated are for GroupWise 5.2 and not total system memory.

Factors to consider in performance calculations follow:

  • Number of post offices and domains

  • Number of TCP Handlers and MF worker threads

  • Number of client/server connections being supported

  • Message traffic between post offices and domain

  • Separate processors for POA, MTA and ADA

  • IP or direct connections between MTAs

  • High volumes of admin related traffic

  • High volumes of large messages (large attachments, remote updates, and so on)

Here are the memory calculations for running GroupWise 5.2:


Base memory

GWENN1

- 3,500,000 bytes

 

GWPOA

- 248,000 bytes

 

GWADA

- 102,000 bytes

 

GWMTA

- 190,000 bytes

 

GWMTAIP

- 67,000 bytes

 

GWTMTAALM

- 77,000 bytes

Stack POA

Base

- 207,872 bytes

 

MF workers

- n* 30,000 bytes

 

TCP Handlers

- n* 32,768 bytes

 

QuickFinder

- 30,000 bytes

 

Notify

- 30,000 bytes

 

C/S connections

- n* 32,000 bytes

Stack ADA

Base

- 56,536 bytes

 

PO Worker

- n* 16,384 bytes

 

Domain worker

- 16,384 bytes

 

NDS Sync

- 32,768 bytes

Stacks MTA

Base

- 6* 9,216 bytes

 

Queues

- n* 36,864 bytes

 

Controls

- n* 13,312 bytes

POA Processing

 

 

 

QuickFinder

- 4,000,000 bytes

 

TCP Handlers

- n* 2,000,000 bytes

 

MF Workers

- n* 2,000,000 bytes

ADA Processing

 

 

 

Base

- 128,000 bytes

 

Workers

- n* 128,000 bytes

MTA Processing

 

 

 

Base

- 250,000 bytes

 

Post office

- n* 50,000 bytes (n=# of POs)

 

Transport

- 230,000 bytes

 

Each dest.(n=# of dest.)

- 10,000 bytes +(n*10,0000 bytes)

 

 

Note: No memory allocation is shown for Convert since it runs dedicated on a post office.

Sample Configuration Memory Requirements

As an example, here is how you would calculate the memory requirements for the following configuration: 50 connections, 6 TCP Handlers, 8 MF Workers, on a single processor with 1 POA, MTA and ADA.


Base memory

3,500,000

for GWENN1

 

248,000

for GWPOA

 

102,000

for GWADA

 

190,000

for GWMTA

Connections

2,150,000

(50 * 43,000)

Stacks

825,000

 

QuickFinder

4,000,000

 

POA processing

28,000,000

 

MTA processing

1,000,000

 

ADA processing

300,000

 

Total

40,275,000 bytes

 

"Connections" is the memory to support 50 concurrent connections. Additional memory to process messages is in the processing number.

Memory Rule of Thumb. The GroupWise POA demands the most memory--the MTA and the ADA have smaller requirements. For the POA, three main groupings determine the memory requirements rule of thumb:


Base memory for code, data, and quickfinder:

8,000,000 bytes

Number of TCP handlers & MF workers:

n*2,000,000 bytes

For C/S, number of concurrent connections:

n*50,000 bytes

Disk Subsystem Configuration Summary

Compaq engineers and Novell engineers recommend disk striping for the gain in I/O performance. The recommendation is to use numerous smaller drives in an array rather than a few larger drives to achieve the best overall system performance providing comparable capacity.

Hardware striping is achieved by Compaq's Smart-2 Array Controller with built-in data protection. The SMART-2 Controller offers exceptional performance characteristics because of its underlying intelligent I/O architecture that has been streamlined for high performance. The advanced architecture consists of optimized hardware and firmware components working together efficiently, with functions and embedded intelligence distributed across appropriate points in the design.

Fault Tolerance is strongly recommended by Compaq engineers and Novell engineers. RAID 1is the preferred level of fault tolerance for systems that have mission critical data, while RAID 5 is recommended for systems storing non-critical data. RAID 1 is the preference due to a combination of a high level of performance and protection of data. RAID 1 uses disk mirroring and provide performance equal to or better than RAID 0, but your drive cost doubles because this level requires twice as many disk drives to store the same amount of data and might not be cost-effective for your environment. RAID 5 uses distributed data guarding, stripping data, and parity data across all drives in the array. The more drives in the array, the lower the portion of each drive reserved for fault tolerance support.

When determining the disk subsystem configuration of a GroupWise system, use Wide-Ultra drives connected to controllers that support the Wide-Ultra transfer rates when possible. Disk access is often a major bottleneck in GroupWise performance. Using the fastest available SCSI drives combined with disk controllers that support Wide-Ultra transfer rates, the system will be configured to keep this impact minimized as much as possible.

Conclusion

This AppNote has provided configuration and performance guidelines for Novell GroupWise 5.2, based on Compaq and Novell integration and performance testing. This information will help you understand performance characteristics of GroupWise 5.2 and how different configuration options can affect the performance of your Compaq server.

Bear in mind that these are only guidelines; GroupWise 5.2 server system requirements vary depending on many factors, and this information should not be used as absolute tool for determining system requirements. The best way to determine the optimum configuration of your GroupWise 5.2 system is to experiment in your actual environment.

* Originally published in Novell AppNotes


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates