Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| docs:3400_how_to:1100_miscellaneous:1460_optimise [2022/08/25 00:27] – ↷ Links adapted because of a move operation administrator | docs:3400_how_to:1100_miscellaneous:1460_optimise [2025/06/12 03:59] (current) – Change to AwareIM aware_support3 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ====== How to optimise application for best performance ====== | ====== 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: | + | Out-of-the-box //**AwareIM**// offers a pretty good performance for many applications. However, it does not mean that you should always rely on AwareIM |
| * Performance of business rules | * Performance of business rules | ||
| Line 15: | Line 15: | ||
| - Unconditional rules can be expensive (especially if they use aggregate operations). Make them conditional (using '' | - Unconditional rules can be expensive (especially if they use aggregate operations). Make them conditional (using '' | ||
| - 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 | - 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 | ||
| - | - 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 [[docs:3100_actions:0400_exec_sp|EXEC_SP]] and [[docs:3200_functions:xx_function_list: | + | - If you find that a particular query does not perform well replace it with a stored procedure (//**AwareIM**// allows you to use stored procedures – see the [[a_f:a:exec_sp|EXEC_SP]] and [[a_f:f:af: |
| - 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. | - 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. | ||
| - | - Add additional servers to scale up your system if necessary (//**Aware IM**// supports scaling and load balancing) | + | - Add additional servers to scale up your system if necessary (//**AwareIM**// supports scaling and load balancing) |