Fixed by revision 2785 [email protected].
Queries and suggestions invited.
Thanks.

** Changed in: openobject-addons
   Importance: Undecided => High

** Changed in: openobject-addons
       Status: In Progress => Fix Released

-- 
account - Legal Statements - General Ledger Performance issue [memory leak?]
https://bugs.launchpad.net/bugs/514808
You received this bug notification because you are a member of OpenERP
Accounting Experts, which is a direct subscriber.

Status in OpenObject Addons Modules: Fix Released
Status in Qt/KDE OpenObject Client: New

Bug description:
The General Ledger report generation is too slow, leading to a "timeout" on the 
client side if there are too many records (1000 are enough), making it 
impossible to print the general ledger without using 'workarounds' (printjob 
module), and even then it uses all the CPU for too long making the server 
irresponsible.

***

Times reported by Ferdinand @ ChriCar:

   About 3700 account move lines for 5 years (very small company) it takes
      * 1:40 min to print General Ledger for all 5 years (60 pages 3700 records)
      * 0:30 min to print GL for period 200912 (6 pages, 120 records)

***

Times reported by Borja López Soilán:

   Tested on a Core2Duo 4...@2ghz with 2GB RAM.
   Created a new demo database (service profile), and then used a script to 
create 10.000 account moves. 

   It took about 35 minutes to generate the general ledger report (the client 
did timeout after 3 minutes):
      * 30m of CPU time consumed by Python
      * 1m30s of CPU time consumed by Postgres
                 Number of queries: 282,193  //  Total query duration: 1m30s  
// Query peak: 845 queries/s at 2010-02-10 12:04:21

   Notes:
      * Some queries related with the RML translation (formatLang function), 
may be cached to save up to 30% of the Postgres time. For example, this single 
query is done 160.000 times, taking 38.9 seconds: "SELECT 
date_format","direction","code","name","thousands_sep","translatable","time_format","decimal_point","active","grouping",id
 FROM "res_lang" WHERE id IN (0) ORDER BY id;" (See the attached pgFouine file, 
for a detailed report of the queries performed by OpenERP while generating the 
general ledger)
      * 10.000 account moves take 30m, so everything with more than 1000 
account moves would give a timeout on the client side.




_______________________________________________
Mailing list: https://launchpad.net/~openerp-expert-accounting
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-expert-accounting
More help   : https://help.launchpad.net/ListHelp

Reply via email to