In order to ensure that Genie is performing at its best within your practice, we recommend you optimise your Genie Server application to enable Genie to make the most of the available resources on your server machine. Adjusting these settings correctly will allow regularly accessed parts of your database to be stored in the system memory of your server, which will typically increase the speed of which information can be loaded from a Genie Client.
The following guide explains some of the more technical settings that can be configured on the server computer to optimise the performance of the Genie Server application, and the correct settings will be dependent on a number of factors such as your database size, the number of users that connect to the Genie Server and the available memory on the server machine.
Before you begin
You will first need to ensure that you have access to your server machine to adjust these settings. These settings require a technical understanding of server’s hardware specifications and database size – if you’re unsure of how much RAM your server has, how big your database is or you don’t have access to your server machine, please consult with your nominated IT representative.
If you are unsure if the below settings are appropriate for you, please submit a ticket to our support team.
The memory cache is a portion of the installed RAM that Genie uses to hold data. When you perform a search (e.g. to find a patient), Genie first looks for the record in memory. If it isn't there, it retrieves the record from the hard disk. However, retrieving a record from the hard disk is many, many times slower than retrieving it from memory. This is particularly the case if your server uses older hard disk-based storage, however servers running solid state storage can also benefit from adjusting these setting appropriately.
Once records have been searched for and found, they are then stored in the memory cache. Once the memory cache is full, records are progressively cleared from memory. Therefore, generally speaking, the larger the cache, the faster Genie will perform searches. As long as your server meets our Genie Hardware Specifications and has at least 16GB of RAM installed, you can generally be quite liberal with how much RAM you can allocate to cache. If, however, your server does not have an appropriate amount of RAM and the data file is larger than the amount of RAM you have installed on your server, setting the cache too high can starve the Genie Server application and the operating system itself of memory and will cause performance to degrade.
You can access the database settings on the Genie Server machine by going into Edit > Database Settings > User Settings on Windows and File > Database Settings > User Settings on Mac. Click on the Database tab and you should see the ‘Database Cache Settings’ as below.
Calculation of adaptive cache | This checkbox should be ticked. In this mode, management of the memory cache is performed dynamically by the operating system, respecting the minimum and maximum limits that you set. The size of the memory cache is calculated dynamically depending on the parameters set here. |
Memory to be reserved for other applications and for the system | This is the amount of memory (RAM), to be reserved for use by the Operating System and all applications that may be running on the server. |
Percentage of available memory used for cache | This is the percentage of the remaining RAM to be allocated to the cache by default. |
Minimum size | This is the minimum amount of memory that must be reserved for the cache. This value cannot be less than 100MB. |
Maximum size | This is the maximum amount of memory that can be used by the cache. |
Keep Cache in Physical Memory | This setting will only appear in Genie versions 8.9.3 and below. We strongly recommend never ticking the Keep cache in physical memory for 4D Server and 4D Volume Desktop checkbox. This option is only used for testing purposes, and ticking it may result in very poor performance. |
Recommended adaptive cache settings
Generally speaking, the only settings that need to be changed are the Percentage of available memory used for cache and the Maximum Size. Below are some recommendations for adaptive cache settings on servers that have 16GB of RAM. As long as your server meets our Genie Hardware Specifications, these setting ensure that there will always be sufficient memory left over for the operating system, other applications and the Genie Server application to perform at their best.
Changes made to any of the following settings will not take effect until the server machine is rebooted.
macOS
In Genie 9.4.4 and below, the Genie Server application on macOS is a 32bit application. This means that, at most, Genie can use 4GB of RAM for cache.
Database size / users |
Percentage of available memory... |
Max Size |
< 2GB, 5 users or less | 25% | 2048MB |
> 2GB, 5 users or more | 25% | 4096MB |
Windows
Database size / users |
Percentage of available memory... |
Max Size |
< 2GB, 5 users or less | 25% | 2048MB |
2-5GB, 5-10 users | 25% | 4096MB |
5-10GB, 10-15 users | 50% | 8192MB |
> 10GB, 15 users or more | 65% | 10240MB |
These suggested settings will cover the vast majority of practices, however for particularly large data files over 10GB the Maximum Size can be increased further. Before doing so, it’s worth noting that it’s best to always have at least 6GB of RAM free for the operating system and other applications. Therefore, on occasions where the cache needs to be increased beyond 10240MB, it’s advisable to have more than 16GB of memory installed on the server machine.
In order to determine whether you may need to increase the maximum cache size further, you can see the cache that’s currently being used by Genie in the Application Server tab of the Server Admin window. It’s worth noting that Genie will not always use all of the available cache regardless of the size of the data file and the cached memory is not reflected in the Windows Task Manager.