MIDAS Knowledge Base MIDAS Knowledge Base

Why does my server "hang" when processing lots of bookings?

Please Note: This article applies to self-hosted MIDAS systems only.

If your server appears to temporarily 'freeze', 'lock', or 'hang' whilst processing a large number of bookings, then it's possible that some server component is being overloaded. That might be the memory, the CPU, the database server, or something else.

If your web server instead appears to 'time out' (rather than lock/hang) when processing a high booking volume, please see this KB article instead.

Whilst every server setup and configuration is different, here are some general tips and guidance that will hopefully aid in your determination as to the root cause of your server performance issues:

Things to check with your hardware

  • Open your operating system's 'Task Manager' and monitor CPU and Memory usage to see if either of these are unusually high. If so, you may also be able to identify the particular component (whether that's your web server, database server, Perl, or something else) which is the culprit. If CPU/Memory utilization is consistently high or maxed-out, it might be time to consider upgrading your hardware.

Things to check with your web server

Things to check with your database server

  • 'Optimize' the database tables that makeup your MIDAS database. Optimizing database tables essentially 'defragments' them and may improve their performance. You can actually do this from a handy tool right within MIDAS. The 'Optimize Database' tool can be found under MIDAS Admin Options → Manage MIDAS → Database → Database Tools → Optimize Database.
  • Try tuning the performance of your database server - Consider third party tools such as MySQLTuner or MySQL Workbench to help identify which database server settings can be tweaked for improved performance.
  • If the tables in your MIDAS database are currently using the MyISAM engine of your database server, performance gains may potentially be realized by switching to using the InnoDB engine. You can adjust the 'engine' of a MySQL/MariaDB table by issuing the following SQL command "ALTER TABLE table_name ENGINE = InnoDB;".

Things to check with MIDAS

  • Consider removing obsolete bookings from your MIDAS system via the special tool available under MIDAS Admin Options → Manage MIDAS → Database → Database Tools → Remove Obsolete Bookings. For example, if there are currently thousands of bookings in your MIDAS system which took place several years ago, removing these historic bookings may improve overall performance.
  • Consider reducing the number of "Watch Notifications" in use. For instance, if a significant number of your users have set up "watch" triggers to receive email notifications whenever bookings are added, and a large number of bookings are added in one action, MIDAS potentially has a lot of email notifications to send. This can impact the overall overall speed/performance, especially if sending via a slow SMTP server/email gateway. Enabling the "Attempt to reduce email volume by automatically combining similar emails?" setting under Manage MIDAS → Email, may also help with this.

You might also be interested in...


MIDAS » KB » Support » Article 00263

← Return to the Knowledge Base