How to optimise application for best performance

Out-of-the-box Aware IM offers a pretty good performance for many applications. However, it does not mean that you should always rely on Aware IM to deliver the best performance. A lot depends on how you write your application as well. The following areas are important when you write an application:

  • Performance of business rules
  • Performance of queries
  • How quickly each request from the user is processed in your system

Below are some recommendations on how to improve performance in each of these areas:

  1. Check the Log Viewer for the execution of rules that refer to the object (cross reference rules). These may be expensive. Execution of many of them may be unnecessary. Turn them off by going to the Advanced tab of the rule and ticking “Do not check referred”
  2. Aggregate operations (SUM, COUNT etc) can be expensive if you have lots of data. Try not to use them if you can
  3. Unconditional rules can be expensive (especially if they use aggregate operations). Make them conditional (using WAS CHANGED expression, for example)
  4. Check for repetitive execution of rules. The rule engine can execute rules repetitively if the next rule triggers a condition that causes the previous rule to fire again. Optimise this carefully. Use rule priorities to make sure that expensive rules are only executed once
  5. If you find that a particular query does not perform well replace it with a stored procedure (Aware IM allows you to use stored procedures – see the EXEC_SP and EXEC_SPF for more details)
  6. If you need to support many concurrent users make sure that there are no CPU-extensive operations in your application. Or make sure that the CPU-extensive operations are executed at night or by a separate server.
  7. Add additional servers to scale up your system if necessary (Aware IM supports scaling and load balancing)
  • Last modified: 2022/09/13 18:15