Hints and tips for configuring file store size
Preserving the appropriate amount of space within the log file, permanent store file, and temporary store file of a file store helps to ensure that operations and transactions behave as expected.
The default settings for the minimum and maximum sizes are most suitable if you are not using a dedicated disk for your file store because they protect the file store from other disk users, and also protect other disk users from the file store. The default settings are less appropriate if you have a disk that is dedicated to file store use, and in this case you might want to consider setting the maximum size set to unlimited.
Input/Output performance typically poses a significant challenge for file stores. Performance improvements can be achieved using dedicated disks for the file store to avoid contention.
If your file store is not on a dedicated disk, consider making the minimum and maximum sizes the same. Initially, the message store reserves the amount of space defined by the minimum setting. Therefore, if you use the same value for the maximum and minimum settings, it reduces the likelihood of other applications using the disk space that you intended for the file store usage. Setting the maximum size to a value other than unlimited reduces the likelihood of the file store using disk space that you intended for other applications usage. Other applications can include, for example, the application server itself.
The most significant performance gains can be derived by using disk hardware configured to ignore the flags set by the operating system to indicate that a synchronous write is required when a reliable battery backed storage device is used. Such a device can effectively maintain the logs in memory and store files so that the writes do not have to wait for physical disk movements. Rather the data written is stored in a cache, and the assurance that the data is not lost in the event of a failure comes from the disk vendor on the basis that the cache is reliable either due to the battery or some other reason.
- Log file size
- Data is first written to the log file sequentially, that is, new records are added to the end of the file. When the end of the log file is reached, old records at the beginning of the log file are overwritten by new records and this process repeats. Later, the data is written to the permanent store file and temporary store file. The exception is a short-lived data, which is only written to the log file.
- Store File size
- The permanent store file and temporary store file each have a minimum reserved size and a maximum size. When they are created, the permanent and temporary store files consume their minimum reserved sizes, plus the size of the log. If the maximum size is set to a larger value than the minimum reserved size, the files grow up to the maximum size as required.
The default configuration for file store attributes is intended to be sufficient to be used in typical messaging workloads without further administration. To improve the performance or availability of the log file or the two store files, you can configure the file store attributes to control where these files are placed. Similarly, you can configure the attributes that control the sizes of the log file and two store files, for example to handle workloads with many active transactions, large messages, or a large volume of message data resident in the messaging engine.
The following table shows the minimum and default values for file store attributes.
Attribute | Description | Minimum and default values |
---|---|---|
Log size | Size of the log file, in megabytes |
|
Minimum permanent store size | The minimum number of megabytes reserved by
the permanent store file. The minimum store file size must always be at least as big as the log file. |
|
Maximum permanent store size | The maximum size in megabytes of the permanent
store file. Consider making the maximum store file size double the size of the log file. The maximum size of the store file must always be larger than the log file. If the log file size is the same as the maximum store file size then the messaging engine will not start. |
|
Minimum temporary store size | The minimum number of megabytes reserved by
the temporary store file. The minimum store file size must always be at least as big as the log file. |
|
Maximum temporary store size | The maximum size in megabytes of the temporary
store file. Note: Consider making the maximum store file size double
the size of the log file. The maximum size of the store file must
always be larger than the log file. If the log file size is the same
as the maximum store file size then the messaging engine will not
start.
|
|
Unlimited permanent store size | Indicates whether the permanent store file is unlimited in size |
|
Unlimited temporary store size | Indicates whether the temporary store file is unlimited in size |
|
Log directory | Name of the directory that contains the log file |
|
Permanent store directory | Name of the directory that contains the permanent store file |
|
Temporary store directory | Name of the directory that contains the temporary store file |
|