Projects:Analyze CashUp Speed
Contents |
Introduction
The cash up speed should be improved. This development should first start with an analysis on the main performance bottlenecks in the cashup process.
To do this analysis real customer data needs to be used to have a representative test environment.
Solution implemented
Most of the time spent by the cashup process goes to the java function OrderGroupingProcessor. This function iterates all lines of all orders created during the day to create an invoice. This is very intensive in objects created in the Hibernate session. So the solution implemented reduce the time is to clear the Hibernate session in each iteration.
Related to this, it is been implemented different timeouts in the execution of the different synchronization process. This helps to avoid the problem of going offline of the Web POS.
Data
This table shows the averages of the time in milliseconds of the execution of the cashup process without clearing the session and clearing the session. The improvement of the performance clearing the session is in average the 23%.
Total Cashup time | OrderGroupingProcessor | CashCloseProcessor | Other | |
---|---|---|---|---|
Average Cashup | 6481 | 5416 | 968 | 97 |
Average Cashup after clearing session | 4964 | 4152 | 736 | 76 |
Documentation
- Feature request in mantis: https://issues.openbravo.com/view.php?id=26971