Preparing SystemResources
Before starting a broker, there are two preliminary system-level tasks to perform: synchronizing system clocks and (on the Solaris or Linux platform) setting the file descriptor limit. The following sections describe these tasks. Synchronizing SystemClocks
Before starting any brokers or clients, it is important to synchronize the clocks on all hosts that will interact with theMessage Queue system. Synchronization is particularly crucial if you are using message expiration (time-to-live). Time stamps from clocks that are not synchronized could prevent message expiration from working as expected and prevent the delivery of messages. Synchronization is also crucial for broker clusters. Configure your systems to run a time synchronization protocol, such as SimpleNetwork Time Protocol (SNTP). Time synchronization is generally supported by the xntpd daemon on Solaris
and Linux, and by the W32Time service on Windows. (See your operating system documentation for information about configuring this service.) After the broker is running, avoid setting the system clock backward.
Setting the File Descriptor Limit
On the Solaris and Linux platforms, the shell in which a client or broker is running places a soft limit on the number of file descriptors that a process can use. InMessage Queue, each connection a client makes, or a broker accepts, uses one of these file descriptors. Each physical destination that has persistent messages also uses a file descriptor. As a result, the file descriptor limit constrains the number of connections a broker or client can have. By default, the maximum is 256 connections on Solaris or 1024 on Linux. (In practice, the connection limit is actually lower than this because of the use of file descriptors for persistent data storage.) If you need more connections than this, you must raise the file descriptor limit in each shell in which a client or broker will be executing. For information on how to do this, see
the man page for the ulimit command. (it is for avoiding the "too many open file" error message show in the console in which imqbrokerd.exe runs.)