Disk Space and Memory
[Previous] [Next] [First] [Last]

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

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

The 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. We describe the disk space requirements of a local item. The disk space requirements of a remote item are considerably less, 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 using the following:

Table A.1 
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 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 the following example:

DAYS_YEAR = 260

ITEMS_EVENT = 7

EVENTS_ITEM_DAY = 8

GROUPS_ITEM = 50

ITEMS_GROUP = 15

SECURITIES_ITEM = 100

ATTACHED_STREAMS = 512

TASKS_ITEM_DAY = 3

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 Megs per user of disk space

One final note concerning disk-space; each active Calendar Server user has temporary data files, located in /users/unison/db/tmp, whose combined sizes 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) and Calendar Directory Access Server (unidasd), as well as a uniengd server for each active user. At startup, with no connections, a total of 5MB RAM is used by the five 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 numconnect parameter in the /users/unison/misc/unison.ini file. Thus, the formula to calculate RAM requirements would be:

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


[Previous] [Next] [First] [Last]