General performance tips
How to optimize your GpsGate Server performance and user experience
The first signs of that you have performance problems on your server is that the daily ErrorLog is full of "Waiting for a free connection timed out." messages. If you have a few now and then it is no harm, but if you have a constant stream you need to do something about it. Here is a list of things that will make your server run faster. Tips on how to improve the user experience are also included. Improved performance and user experience often go hand in hand!
Keep your server up to date
We constantly include new features, make optimizations and removes problems. By keeping your server up to date you will avoid running in to problems we have already solved. And you will have the best possible user experience.
When the server uses excessive resources
If you think your server is overusing resources in your system, consider checking these options:
- Enable multi-threaded garbage collection
- Optimize MySQL for speed
- SPAM block
- SMS and Email quota
- Watchdog service
- Reporting quota exceeded
- Limit the execution of Reports on demand
Avoid Internet Explorer
Only map the inputs you need
In the Device Mapper, mapping inputs you do not use consumes disk space and CPU for no use.
White-list your server URL if you use an Ad-blocker
Ad-blockers (like AdBlock) can reduce the browser's performance if you have the option I don't care about cookies enabled (in AdBlock > Settings > Filter lists). Keep this option unselected.
Adding your server's URL to the ad-blocker's white list, will improve the performance. Read your current ad-blocker's documentation to know how to white-list yours.
Reporting best practices
Reporting is a common resource that you or your customers will use in the system. Before setting them up or start any customization, make sure that you follow the reporting best practices
Scheduling email reports
Report data needs to be processed before a user can view a report. GpsGate process report data every night, which means that reports displayed for yesterday and earlier are fast. But to display a report for today requires data to be processed first. This can sometimes cause an annoying delay for the user.
Often it is a better approach to set up reports to be emailed daily, weekly, or monthly to the user. In this way, the user always gets the right report in a comfortable way. To set up reports via email, follow this guide.
Change your GPS tracker update rates
Do not set the update rates to a higher value than you actually need. To know more, read this guide regarding track filters.
Set Event Rules for reporting only
If you set up your event rules to be used in reporting only, you'll be saving a lot of resources in your system. This is useful if you don't need live events and only will check them later in a report.
On Step 1 of the Event Rules Wizard you can specify if the event rule will be used live (in real-time). You should set Enabled to No for all event rules you only use for reports.
The Event Rule will now be marked with a red icon in the list. It will no longer be executed live, and can only be used in reports.
Tracker offline reports instead of live events
If you are using the Offline expression feature to get a notification when a device is offline, consider changing this to having a report emailed to the user daily which lists all offline incidents. To do this, follow this guide.
Keep tight control over user privileges
One common way of getting your server overloaded is to give an inexperienced user access to creating reports and event rules. They typically create too many.
Learn how to restrict roles here.
Give users rights to see specific reports here.
Avoid too many live alarms
Live event rules, in particular those which create a lot of events, use a lot of server resources.
For instance, if you have too many email alerts it often makes sense to set up an event report instead to be emailed to the user daily.
You can also try to limit the number of generated alerts by setting a delay, making the rule less sensitive.
Verify which Event Rules consume most resources using the ProfilerLog
In the ProfilerLog you find under C:\GpsGateServer\ProfilerLog one new log file is created each day which writes down performance statistics about the server. There is a % that tells you how many resources an individual feature or operation consumes. You can for example see which live event rule in which application is a performance eater.
You also find a list under CommandNotifier which users receive the most email and SMS notifications. If there are too many, you might want to switch to an event report or make the event rule less sensitive (see the example about avoiding too many speeding alarms above).
Control email and SMS usage
Spam block prevents a faulty event rule to send too many emails or SMS messages to one single recipient. Learn how to use it here.
You can also set an SMS and/or Email Quota per application. Read more about this here.
Enable multi-threaded garbage collection
If you have a multi-core on-site server you can apply the below settings to improve performance. Read how to set it up here.