Netscape Calendar Server 4.0: Administrator's Guide

Disk Space and Memory

This appendix describes the memory requirements of the Calendar Server. These requirements can be broken down into two categories: database disk space requirements and run-time requirements involving virtual memory and swap space.

Database disk space requirements

Calendar Server performance is influenced by the configuration of disks. To enhance the performance of the Calendar Server, it is recommended that the application be allocated its own disk (/users/unison). Further enhancements can be obtained by devoting one or more disks for permanent user data (/users/unison/db/nodes) and temporary user data (/users/unison/db/tmp).

Calendar Server users, or items, are termed either local or remote with respect to a server. An item is only local with respect to the server on which it was first created. A directory entry, whether for a local user or a remote user, takes 2K bytes of disk space. The disk space requirements of a remote item are considerably less than those of a local item, although the exact figure will depend on the usage of Corporate Wide Services. The yearly disk space requirements of a local item can be estimated by determining the following values:

 
Parameter  Definition 
DAYS_YEAR
 
 
number of work days in a year

 

ITEMS_EVENT
 
 
average number of items invited to an event

 

EVENTS_ITEM_DAY
 
 
average number of events attended by an item daily

 

GROUPS_ITEM
 
 
average number of groups created by an item

 

ITEMS_GROUP
 
 
average number of items in a group

 

SECURITIES_ITEM
 
 
average number of security privileges granted by an item

 

ATTACHED_STREAMS
 
 
average size of the comment and object attached to an event

 

TASK_STREAMS
 
 
average size of the comment attached to a task 
TASKS_ITEM_DAY
 
 
average number of tasks created daily by an item

 

Using the values that you determine for these parameters, the following formula determines disk space, in bytes, attributed to a local item on a yearly basis:

disk-space = 1631 +

(SECURITIES_ITEMS * 123) +

(GROUPS_ITEM * (335 + (ITEMS_GROUP * 63))) +

(DAYS_YEAR * EVENTS_ITEM_DAY

*((768 + ATTACHED_STREAMS + (ITEMS_EVENT *

128)) / ITEMS_EVENT) +

(DAYS_YEAR*TASKS_ITEM_DAY * (1155 + TASK_STREAMS)))

Consider an example where the following values are set:
 

DAYS_YEAR 
260 

ITEMS_EVENT 

EVENTS_ITEM_DAY 

GROUPS_ITEM 
50 

ITEMS_GROUP 
15 

SECURITIES_ITEM 
100 

ATTACHED_STREAMS 
512 

TASKS_ITEM_DAY 

TASK_STREAMS 
256

 

disk-space = 1631 +

(100 * 123) +

(50 * (335 + (15 * 63))) +

(260 * 8 * ((768 + 512 + (7 * 128)) / 7) +

(260 * 3 * (1155 + 256)))

2,080,000 or 2 MB's per user of disk space

One final note concerning disk-space; each logged-on Calendar Server user has temporary data files, located in /users/unison/db/tmp, whose combined size should not exceed 450K bytes.

Run-time requirements

The Calendar Server run-time environment consists of five (5) UNIX daemons/multi-threaded Windows NT services: Calendar Lock Manager (unilckd), Calendar Engine (uniengd), Calendar Synchronous Network Connections (unisncd), Calendar Corporate Wide Services (unicwsd), Calendar Directory Access Server (unidasd) and a uniengd server for each active user. At startup, with no connections, a total of 5MB RAM is used by the daemons/services. Each connection requires 500KB RAM for a Calendar Engine server/thread to service that client's requests. The maximum number of concurrent Calendar Server users is set for an installation by the lck_users parameter, and the number of persistent connections to the Directory Server is set by the num_connect parameter in the /users/unison/misc/unison.ini file. Thus, the formula to calculate RAM requirements would be:

5MB + (500KB * lck_users) + (300KB *( num_connect -1))