If you find that you are experiencing slowness on all of your Genie Client machines and have tried all other Network Troubleshooting, Optimising your Genie Server may be right for you. 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.
Before you begin
You will first need to ensure that you have access to your server machine to adjust these settings.
If you are unsure if the below settings are appropriate for you, please contact our Support Team.
Please also note that changes made to any of the following settings will not take effect until the server machine is rebooted.
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.
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.
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. Increasing the cache beyond some point however, will cause performance to degrade. As the operating system and the Genie Server application itself are starved of memory, the amount of data being maintained in the cache by the Genie Server places an unacceptably high burden on the Genie Server application. If the cache is large enough then all the commonly used records can reside in memory, and Genie will be performing at top speed.
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.
Physical memory to be reserved
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.
This is the minimum amount of memory that must be reserved for the cache. This value cannot be less than 100MB.
This is the maximum amount of memory that can be used by the cache. This value cannot be greater than 2348MB. ***
As a general rule it is inadvisable to set the maximum amount higher than one quarter of the physical memory (RAM) in the machine.
Genie's default settings are designed to allow Genie to run on a computer with 4GB of RAM, and which may be running other applications. Therefore, 1024MB is reserved to allow the Operating System enough RAM to run. Of the remaining 3027MB, Genie will take 25%, and leave the rest for any other applications that may be running (including the Genie Server application itself). The calculated cache in this case would be 768MB of RAM. We have set a minimum of 100MB, so Genie will end up using between 100 and 786MB of RAM. The 1024MB maximum we have set is irrelevant with these settings.
If you have more installed RAM, and you don't have any other applications running on the server, you can modify these settings to allow a much larger cache, and therefore much faster operations. For example, if you have a 64-bit system with 8GB of installed RAM, a good setting would be:
- Physical memory to be reserved: 1024MB
- Percentage of available memory used for cache: 50%
- Maximum size: 3072
In this case your memory cache would be 2384MB, which is the largest cache possible under 4D as it is a 32-bit application. *** This should typically be enough to fit most of the frequently accessed records of a large database in memory.
*** On a Mac Server this is the case, however, on a Windows machine the Genie Server is available as a 64-bit application. As such, you can have a higher max cache. Please note our recommendation would still be to set this at no more than 25% of all available installed RAM.
E.g. If your Windows Server is on a 16GB RAM machine, you can increase the 3072 maximum size to 4096MB.
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.