Mifos System Recommendations v1.4

These represent the Mifos System Recommendations for our current release: Mifos 1.4 (please see subtopics for recommendations for previous releases)

Mifos System Recommendations v1.4

Recommended software configuration

Software Runtime Environment

  • Operating system: Ubuntu 9.04 Server or Windows 2003 server (for application and database server)
  • Java: JDK 6
  • Application server: Tomcat 6.0.18
  • Database: MySQL 5.1.31 (for database server)
  • Report Designer: BIRT 2.5.1 (later versions of BIRT will not work with Mifos)

Software Settings

  • JVM settings: -Xms512M -Xmx1024M -XX:MaxPermSize=512M
  • MySQL Settings: Buffer Pool Size=1024M, Max Connections=300

Connection Pool Settings

It is recommended that connection pooling be enabled. If you have an existing my.hibernate.properties file, modify it by adding the following lines:

hibernate.c3p0.acquire_increment=5 
hibernate.c3p0.idle_test_period=30 
hibernate.c3p0.max_size=100
hibernate.c3p0.max_statements=0 
hibernate.c3p0.min_size=20 
hibernate.c3p0.timeout=30

See the Hibernate manual for more information.

Please view the following table below to see which MFI size classification your organization fits into. This classification can help you in assessing the recommended systems requirements for deploying Mifos. Please note that these are all approximate numbers and your actual statistics won't fully mirror these classifications.

entities

Small mfi

mid-sized mfi

large mfi

  1. clients

6,000

120,000

1,000,000

  1. accounts

15,000

270,000

2,580,000

  1. loan accounts

9,000

150,000

1,250,000

  1. savings accounts

6,000

120,000

1,330,000

  1. branches

5

45

200

  1. centers

240

3,825

28,000

  1. groups

1,200

14,000

200,000

  1. loan officers

20

260

1,700

Recommended hardware configuration

For small- to mid-sized MFIs.

Machines

  • 1TB RAID 5 SATA disk storage
  • 4GB RAM
  • 2x dual-proc, dual-core 3.5 Ghz CPUs (Xeon/Core 2 Duo/whatever kind of 32-bit Intel chip is cheapest)
  • redundant chassis power supplies
  • wake-on-LAN

Infrastructure

  • 4 megabits/sec upstream and downstream bandwidth
  • uninterruptible power supply
  • separate boxes for MySQL and Tomcat servers
  • replicated MySQL instances
  • dual ethernet cards
  • remote management console (so you can remotely power cycle the box and maybe get a serial console)

Examples of configurations currently being used in deployments

Jitegemea

Database and application server (combined)

  • IBM ThinkCentre MT-M 8326-76G
  • 3.4GHz
  • 2GB RAM
  • 80GB HDD
  • 17'' Screen
  • Windows 2003 Server with 10-User License

Grameen Koota

Database server

  • Proliant DL380G5
  • Dual-core Intel Xeon5060 processor(3.20GHz)
  • 4MB(2 x 2)Level cache
  • 4GB(4 x1)GB)PC2-5300 Fully Buffered DIMMs(DDR2-667)
  • 146 GB scsi HDD
  • Dual NC373I Gigabyte Ethernetcard
  • Operating system: Windows 2003 server R2 standard edition
  • Software
    • MySQL Database Server
    • MySQL Administrator
    • MySQL Query Browser
    • Escan Antivirus

Application server

  • Proliant DL380G5
  • Dual-coreIntel Xeon5060 processor(3.20GHz)
  • 4MB(2 x 2)Level cache
  • 2GB(2 x1)GB)PC2-5300 Fully Buffered DIMMs(DDR2-667)
  • 76 GB scsi HDD
  • Dual NC373I Gigabyte Ethernetcard
  • Operating system: Windows 2003 server R2 standard edition
  • Software
    • Tomcat
    • Sun Java
    • Escan Antivirus

See Also