Joseph, On Sun, 20 Oct 2019, 00:28 Joseph Cabral, <[email protected]> wrote:
> Hi Nayan, > > Thank you for the tips! I tried asking for advice here first because we > are wary of doing any code change since we were under the assumption that > Fineract had already been used in many high load situations in production > and we have just set it up wrong or there are some settings we could > change. > > We will first try adding some indexes to the database but it looks like we > have to do some code change for this. > Will you be contributing any performance related improvements you make back to the community? Thanks again! > > Joseph > > On Sun, Oct 20, 2019 at 2:21 AM Nayan Ambali <[email protected]> > wrote: > >> Joseph, >> >> Previously I had done Mifos platform load testing for the community, >> based on my experience below are my recommendations >> >> *without code change* >> 1. Use SSD/High IOPS storage for Database >> 2. If you are on AWS, go for Aurora instead of MySQL >> 3. Look at database usage for this batch job and see if there is >> opportunity index some columns for better performance >> >> *with code change* >> 1. Process the data parallel either on with multi threading on single >> node or we can go for multiple nodes >> 2. Query optimisation >> 3. Data fetch and commit batch size >> there are many other opportunities to improve the same >> >> - >> at your service >> >> Nayan Ambali >> +91 9591996042 >> skype: nayangambali >> >> >> On Sat, Oct 19, 2019 at 2:20 PM Joseph Cabral <[email protected]> >> wrote: >> >>> Hi Everyone, >>> >>> I would like to ask if anyone has done load testing of the >>> MifosX/Fineract scheduler jobs? Specifically the post interest to savings >>> job. >>> >>> We created a new Savings Product (ADB Monthly - 10% Interest) with the >>> following settings: >>> Nominal interest rate (annual): 10% >>> Balance required for interest calculation: $1,000.00 >>> Interest compounding period: Monthly >>> Interest posting period: Monthly >>> Interested calculated using: Average Daily Balance >>> >>> We populated the m_savings_account table using the savings product above >>> with 1.2M new savings accounts which we then deposited an initial balance >>> of $10,000 each. We then edited the post interest to savings job to post >>> the interest even though it is not yet the end of the month. >>> >>> On consecutive tests, we averaged around 15 to 20 hours to complete the >>> job. >>> >>> We are using a 4vCPU 128GB server to do the load testing. We deployed >>> MifosX/Fineract in a docker container with Tomcat 7. The MySQL database is >>> deployed in a separate docker container on the same machine. >>> >>> Any tips or ideas on what we can do to improve the run time of the job? >>> Our target for 1.2M savings accounts is less than 1 hour. >>> >>> Regards, >>> >>> Joseph >>> >>
