Its not report always which causes hang, infact when 2-4 users are on ERP and they click on random documents, like one is creating items, other one generating sales order and 3rd is on Work order part, It causes a delay/hangs for unknown time.
My question when a specific users is hitting any operation which may take a longer time, like reports are taking upto 7-9 secs, so other users shouldn’t be experiencing any delay/hang becasuse of this.
@centaur Now the system is behaving weirdly with other docuement type as well.
Too much slow on saving and submit as well.
Slow query log:
select
sle.item_code, warehouse, sle.posting_date, sle.actual_qty, sle.valuation_rate,
sle.company, sle.voucher_type, sle.qty_after_transaction, sle.stock_value_difference,
sle.item_code as name, sle.voucher_no
from
`tabStock Ledger Entry` sle force index (posting_sort_index)
where sle.docstatus < 2 and sle.posting_date <= '2020-12-07' and sle.company = 'mycompany'
order by sle.posting_date, sle.posting_time, sle.creation, sle.actual_qty;
1CPU with 2GB of RAM…really isn’t ideal for a multi-user environment.
If you have a relatively fast PC/laptop, try creating a VM on VirtualBox and giving it say 4GB - and compare the performance
What about Gunicorn Workers? have you setup up 2*Number of Processors +1 as the number of Gunicorn Workers? And did you run bench setup supervisor and sudo service reload supervisor. That’s when the changes kick in I think. Even on those Mariadb config settings.
I have moved to local server, with 24GB of RAM and 8 cores.
Performance is 3 times better, reports are much faster but not as expected.
Previously it was taking 2.5 minutes (minimum) to complete a work order without any operation.
Just submitting the work order, start & end along with 2 stock entries ( one for material transfer and one for manufacturing), now on Local it’s taking around a minute.
Some one recommended me to use Sqltunner, the problem is it’s keep asking me to increase sort_buffer_size. read_rnd_buffer_size & join_buffer_size.
Once your database becomes very large, the performance drop.
What I did was to truncate The Email Queue, global version and search history table. But first check the table sizes before doing the above.
In my case the point we want to make the system to act quickly is during production process at the moment, (reports too obiviosuly) but manufacturing is continous process.
As per my detailed observation, system is taking time while creating stock entries, and the table is with around 0.5 million entries, and we can’t remove any data from it.