[ 
http://mifosforge.jira.com/browse/MIFOS-2623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

jbrewster updated MIFOS-2623:
-----------------------------

    Status: Verified  (was: Resolved)

> Remove holiday query bottleneck from generate meeting schedule job
> ------------------------------------------------------------------
>
>                 Key: MIFOS-2623
>                 URL: http://mifosforge.jira.com/browse/MIFOS-2623
>             Project: mifos
>          Issue Type: Improvement
>          Components: Batch jobs
>    Affects Versions: 1.4
>            Reporter: jbrewster
>            Assignee: mifosdeveloperqueue
>            Priority: Major
>             Fix For: Release 1.5
>
>         Attachments: documentation+fix.zip
>
>
> Issue:
> Every center in Mifos has a schedule meeting day in a week during which loan 
> officers meet clients. Client attendance is maintained in the system for this 
> meeting. Every night a scheduled Meeting Schedule Job 
> (GenerateMeetingsForCustomerAndSavings) runs and creates customer attendance 
> records for the system. In effect the number of records that gets inserted 
> every week is equal to the total number of clients in the system - so 
> obviously this table is one of the largest in the system. Performance of the 
> job has been a concern for long and the way it is written is kind of 
> traditional - a lot of for loops and single inserts.
> Prabaharan Gopalan performed some analysis of the batch job, and determined:
> One obvious thing which takes bulk of the time is, we look up the database to 
> get the holidays for the current and next year.
> This we do for every meeting date generated. That means 10 time we hit the 
> database for a single account and that too for the same information.
> Assuming for each hit it takes about 100 ms, then for each account it takes 1 
> second. 
> There is more: Hibernate caches information that it retrieves from the 
> database. And the cache is getting flushed according to a configuration, 
> which typically happens for 1000 accounts.
> As more and more information gets into the cache, the updates and the queries 
> are taking time. So, if for the first account to get updated, it takes 200 ms 
> and it is in the cache.
> For the 1000th account it will take about 4-5 seconds and then the cache gets 
> flushed. 
> For full details, follow developer list thread:  http://tinyurl.com/yjq4skw.  
>   Attached is documentation, log, and patch provided by Prabaharan.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://mifosforge.jira.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues

Reply via email to