RAID for Adempiere Server
Alphamedia Consulting

Category Archives:Articles

RAID for Adempiere Server


RAID for Adempiere Server

Introduction Adempiere ( also Compiere and Openbravo ) requires the use of RAID Server is used . This is due to several reasons , the first ERP application that records almost all transactions in the company generally will cause a swell of data very quickly , the second is an integrated database system for all clients and organizations make the process of reading and writing became quite heavy on the I / O standard . A third reason is the number of hard disks that can be expanded so that more capacity becomes larger , as well as other reasons such as data security reasons , and others .

Well , what is called a RAID ? what it does and how many types of RAID methods ?
in this article I tried to explain about the RAID. This also answers the question of peer to peer reader blog about why the server becomes slow after some time of use .

What is RAID
RAID ( Redundant Array of Independent Disks ) technology is a new feature on the computer system . With the Hard Disk RAID will work faster because some ability menggambungkan Hard Disk simultaneously. RAID must use at least two or more HDDs are identical , both in terms of interfaces , technology , capacity , RPM and others.

Almost all motherboards have RAID configuration server integrated therein , including Intel -based platforms . Minimal motherboard has the most standard RAID function , ie RAID 0 and 1 . Itself has a variety of RAID levels such as RAID 2 , 3 , 4 , 5 , 10 and 50 . , But the most familiar is used on the server RAID 0 , 1 , 5 , 10 and 50 only.

There are two types of RAID controllers in the system server , eg, on-board ( integrated with the main chipset ) and the Add -in Card ( additional card module ) .

Some examples of RAID configuration

Imagine there is a data file with the name ” ABC ” would be stored in the HDD RAID is configured with the following variants :
Serves as a RAID 0 stripping , the technique breaks data ” ABC ” into multiple blocks of data , we call it a block ABC01 , ABC02 , ABC03 , ABC04 , and so on . Each block is stored on two different HDDs in parallel , for example HDD1 save block ABC01 , ABC03 , ABC05 , and so on and HDD2 save block ABC02 , ABC04 , ABC06 , and so on . With this technique the performance of its capacity will be increased because the data are not necessary to enter the queue on a single HDD which has a capacity of I / O limited . This means that at the time of data access directly served by two I / O capacity in each of the HDD .


The workings of RAID 0
RAID 0 uses a minimum of 2 HDD , and combine them as if they were a single HDD in the system . For example , there are two units of 80 GB SATA HDD configured as RAID 0 , the system will recognize it as a server is a single HDD with a capacity of 160 GB . With this configuration the performance is expected to increase with the HDD controller contains two parallel working . RAID 0 is often considered not part of RAID because there is ” Fault – Tolerance ” , ie the ability to prevent the failure of other systems such as RAID variants .

Serves as a RAID 1 mirroring , namely mutual backup between two HDDs . The technique is to break down the data ” ABC ” into a data block ABC01 , ABC02 , ABC03 , and so on and everything is stored on HDD1 ( main HDD ) and HDD2 ( HDD backups ) are identical . That is HDD1 save block ABC01 , ABC02 and ABC03 , then HDD2 also stores the exact same data . This capability is referred to as mirroring , which in case of major damage to the data on the HDD , then the data can be recovered directly from the HDD for storing backup data is identical .


The workings of RAID 1
RAID 1 uses a minimum of 2 HDD. If there are two 80GB HDD with a total capacity of 160GB, the system will only recognize it as a 80GB HDD, because only serve as a backup HDD. RAID 1 is the most basic function of all variants of RAID because it has “Fault-Tolerance” good.

RAID 10 is a combination of RAID 1 and RAID 0. With this technique the ABC data block is stored like a RAID 1 and each part is stored stripping like a RAID 0. Instance data block stored stripping ABC into ABC [01] and ABC [02] in two HDD. In each group the HDD, ie ABC [01] the data stored on two HDD mirroring. RAID 10 requires a minimum of four units of HDD.


For example, use 3 pieces of HDD in RAID 5, the HDD1 to store data blocks A01, A02, A03 and parity 01 on HDD1. Then the blocks B01, B02, B03 and 02 parity stored on HDD2. And lastly C01, C02 and C03 and parity stored on HDD03 03. With this technique the entire data on the HDD will be safe because the backup by other HDD and parity spread to each of the HDD.

How it Works RAID5 data distributed to all hard drives and each disk there is a parity that could be analogous to the image of each other HD data blocks.
Example: 3 80GB SCSI hard drives configured with RAID 5 the capacity that can be used for data storage is 3 x 80 GB which there is parity of the other blocks of HD data.
Pros: Supports read / write at the same time, very suitable for the benefit of the network, the data protection is good.
Disadvantages: The writing of data is slower than RAID 0 and RAID 1. Allowing only one hard drive fails.

RAID 50 is a combination of RAID 5 and RAID 0. With this technique the data block will be split into 2, for example, ABC [01] and ABC [02] and stored by stripping techniques that break down and divide in parallel. Both ABC [01] and ABC [02] in each group will be stored using a RAID 5 configuration, so the group needs three units of HDD. Overall, RAID 50 using a minimum of six units of HDD.

IBM ServeRAID M 5015 RAID Controler

IBM ServeRAID M 5015 RAID Controler is an example of a RAID Controler used by IBM Series X server card that uses the PCI Express slot can be installed on the machine X3200, X3400, x3600, and supports both Windows and Linux operating systems.


Hopefully this article can be useful for users Adempiere INDONESIA.

Agung Budi Santosa
Jakarta – Indonesia


Adempiere Server Slow ?


Adempiere Server Slow?

Question :

Arfie said …
Sir , i want to ask . I am using Adempiere application in 2003 and the database server in centos 5.3 Adempiere . But lately often in cases where the end-user always wait a long time just for clicking -save the report . after I check there is nothing strange in linux and windows systems . Memory in both servers are still remaining very much . I wonder what the cause sir ? Thank you sir for the answer.

Answer :
Mr. Arfie , to answer your question accurately would need a more detailed check of the condition of Adempiere server , network , and so forth . Adempiere Assuming your server is not having problems and your network in good and fair condition , then there are a few things you need to do are to improve the access speed of your storage using RAID ( if not ) , when they are using RAID , you can evaluate and if possible using the method that is more efficient and faster according to your needs . Regarding RAID I have discussed in the following link :

The second , well-known ERP applications with very greedy applications to resource , memory and storage . So you should regularly monitor the condition of Adempiere server , whether memory is sufficient , whether the storage is still insufficient and so on .
To view the memory on Windows Server , you can see from the properties and the windows task manager , while for Centos Linux you can do as follows :


Check Total Memory in Linux
First check physical memory available on your computer in the following way:

#dmesg |grep memory

To view the memory is still available in linux you can use the following command:


Or you also can see the memory usage of each application as well as the memory was still available with the following command:


If the memory in your computer is not enough , there are several things you can do , the first is to add your physical memory , and the second is to enlarge the swap file on your computer ( if the addition of physical memory is not possible ) .

Enlarge Swap File in Linux .

What to do when you need to add a swap file on your Linux server ? there are 4 options you can do as follows :

1 . The swap file Creating a New
2 . Creating a swap file on the existing logical volume
3 . Meng Extend existing swap file on your logical volume
4 . Creating a new swap partition

If you need a space larger swap file , create a new swap file is the fastest and easiest solution . Swap files on logical volumes in and extend the swap file on a logical volume is a more difficult step . While Constructing a new swap partition is the most difficult step , but it gives a solution that is more effective and permanent .

On this occasion I akang explain how to create a new swap file as the easiest and fastest way to enlarge your swap file space .

Creating a new file Swap.

We need to specify the additional swap file space that we need. Let’s assume we need 512 Megabytes of swap space . To determine the number of blocks we need to multiply the size of the file to 1024 . So in our example is 512 x 1024 = 524288 . Then we need to run the following command :

dd if=/dev/zero of=/home/swapfile bs=1024 count=524 888

Position location of a file in /home/swapfile just as an example , you can put somewhere else for security reasons , and others . Then you can setup a swap file with the command :

mkswap /home/swapfile

Swapfile that you created above will not enable the next time you boot the system . To make it enabled at boot time , you need to add to /etc/fstab/and the following lines into the file /etc/fstab:

/home/swapfile swap swap defaults 0 0

Similarly, think about my review to foster problem Adempiere speed of your server , if all efforts have been made and the server is still slow , it could be it is time you buy a bigger server .

Hopefully this article can be useful for users Adempiere INDONESIA.


Agung Budi Santosa
Jakarta – Indonesia

Material Management In ADempiere




Aspects related to material management in Adempiere ERP are:
• Warehouse
• Shipments (receipts)
• Inventory Movements
• Physical Inventory
• Production
• Customer Shipment
• Replenishment (Demand)
• Available to Promise
• Valuation Costing

Materials Management
Warehouse is the physical location where the goods / materials are stored. You can make as many as you want warehouse. Furthermore Warehouse may have one or more locators (location of placement of goods). A locator has three dimensions as it is commonly known known:
• Aisle (Gang)
• Bin (tub / Container)
• Level (Level)


In a complex setup, you can create a warehouse for the receipt, a warehouse for storage and a warehouse for delivery:
Material MovementExternal-Receipt
- ShipmentInternal-Inventory Move
- Phisical Inventory (in Indonesia is often called “Taking Stock”)
- Production
- Inventory Movement (in Indonesia is often called “Mutation”) Inventory Valuation Report
- Based on Price List
- PO Price Lists
- Calculates Qty based on Valuation Date
- Export to XLS for more complex valuationHopefully this article can be useful for users Adempiere INDONESIA.
Agung Budi Santosa

ADempiere for Telecommunication Industry


The Capabilities and Performance of Adempiere ERP has been proven in many industries in various fields of manufacturing, trading, retail, and farm plantations. But it’s not just end there, at the end of 2013  alphamedia consulting successfully implementing Adempiere ERP for one of the telecommunication company in Indonesia.

This implementation has a a lot of interesting challenge, where not only involves a lot of Customization but also because the company has a large scale of business. In this implementation.  Where almost all the challenge can be resolved well and gives us a new experience in Implementation . Of course there are still some minor things that are  still need to be addressed here and there, but in globally there is no significant problems.

The first challenge is to customized the application for  large scale Telecommunication enterprise requirements. Most of the windows and report has to be customized follow standard operating of telecommunications company. Access security based on the region and branch to maintain the security and data integration. Custom applications and custom reports certainly should be no problem considering we have repeatedly worked on a similar implementation. But the different is that the company has more than 150 branches spread across Indonesia, which is divided into several areas and regions. Thus accounting report should be able to consolidate some branches into region, some region become area and consolidate all regions / areas as a total (nationally). So with a one click we able to quickly produced a report, eg: trial balance, profit / loss, balance sheet etc. per branch, region and total / national.
Generate a report with a number of organizations of more than 150 organizations is quite resource consuming and takes a long time, so have to change many time the query method so that the report can be generated accurately and quickly.

The next problem is the number of users reaching a total of 1000 users, with concurrent users reached 400 users accessing Adempiere server at the same time from all over Indonesia. Adempiere was originally designed for the company’s SME (Small Medium Enterprise) with  100-200 users. So with that number of users would be take a deep consideration. In addition, with  concurrent users of 400 users per day, will trigger a hundreds or even thousands transactions per day . It’s should be examined by the server without the server being slow or even down.

There are several strategies that we employ to overcome these challenges, which are as follows:
1. Tuning Postgre database.
PostgreSQL database tuning is one of the main key to Adempiere server can be accessed quickly and remain responsive from all over Indonesia. Before tuning databases optimally, while reaching 100 concurrent users, to  open the windows take up five teen to thirty seconds and one report take more than ten minutes. After tuning processed many times, then finally obtained the maximum configuration and time to open the windows is 1-2 seconds and the report is 1-2 minutes although the number of users 300 to 400 users simultaneously access the same time.
2. Tunning Java
Adempiere runs on Java, so the Java configuration is also one of the key applications can run well, with the default/standard configuration after reach of 100 user accessible within a few hours of service become hangs and can not be accessed. After doing tunning several times finally obtained the optimal configuration in which the system remains smooth and stable with  300-400 users accessing the server at the same time.
3. Tunning OS
Tunning database and Java will not be optimized without tunning the Server OS. Where we use Linux Centos (Opensource OS) so it can tune up in order to work together with database tunning and java.

In addition the performance of hardware and infrastructure is also very important, the spec of hardware should be enough to handle all of the process.

Here is the following hardware spec and implementation:

Company      : ******** T*****SEL
Location       : jakarta (Server) & other cities of Indonesia (Clients)
Server Spec  : IBM xSeries 3950, Dual Xeon Processor, 256GB Ram, RAID 10
OS                  : Linux Centos 6.4, 64 bit
DB Version   : PostgreSQL 8.4
Java                : JDK 1.6
Adempiere     : 3.61
Impl. time      : July 2013 – November 2013
Consultant     : Alphamedia Consulting