Welcome To www.adempiere.web.id

This blog is in Indonesian Language, to read in English please use google translate
-------------------------------------------------------------------------
Assalamu allaikum Wr Wb
Selamat datang di www.adempiere.web.id, tempat untuk berbagi informasi Komunitas ADempiere Indonesia , serta sharing informasi Software ERP (Enterprise Resource Planning)berbasis Opensource khususnya Adempiere / iDempiere dan OpenBravo. Semoga informasi yang ada di blog ini, bisa bermanfaat.
Wassalam
Agung Budi Santosa
.>>> [ BACK TO HOME ] <<<.

Tuesday, July 26, 2011

ADempiere Server Lambat?

Pertanyaan:
arfie said...
pak, saya mau tanya. Saya menggunakan aplikasi adempiere di server 2003 dan database adempiere di centos 5.3. Namun akhir-akhir ini sering sekali terjadi kasus dimana end-user selalu menunggu waktu yang lama hanya sekedar untuk meng-save laporan. setelah saya cek tidak ada yang aneh dalam sistem linux dan windows. Memori di kedua server tersebut masih tersisa sangat banyak. Kira-kira apa pak penyebabnya?

Terima Kasih pak atas jawabannya
Jawaban:

Mas Arfie, untuk menjawab pertanyaan anda secara akurat tentu diperlukan pengecekan secara lebih detil terhadap kondisi ADempiere server anda, jaringan dan lain sebagainya. Dengan asumsi ADempiere server anda tidak sedang bermasalah dan jaringan anda dalam kondisi baik dan wajar, maka ada beberapa hal yang perlu anda bisa lakukan diantaranya dengan meningkatkan kecepatan akses storage anda dengan menggunakan RAID (apabila belum), apabila sudah menggunakan RAID, anda bisa evaluasi dan bila mungkin gunakan metode yang lebih effisien dan lebih cepat sesuai kebutuhan anda. Mengenai RAID sudah saya bahas di link berikut : http://blog.alphamedia.co.id/2011/07/raid-system-untuk-adempiere-server.html
Yang kedua, aplikasi ERP terkenal dengan aplikasi yang sangat rakus terhadap resource, memory dan storage. Sehingga anda harus secara rutin memantau kondisi ADempiere server anda, apakah memory masih mencukupi, apakah storage masih mencukupi dan seterusnya.

Untuk melihat memory pada Server windows, anda bisa melihat dari properties dan windows task manager, sedangkan untuk Linux Centos anda bisa lakukan sebagai berikut:

Check Total Memory di Linux
Pertama check physical memory yang tersedia di komputer anda dengan cara sebagai berikut:

#dmesg |grep memory

Untuk melihat memory yang masih tersedia di linux anda bisa menggunakan perintah berikut:

#free -m

Atau anda juga bisa melihat penggunaan memory dari masing masing aplikasi serta memory yang masih tersedia dengan perintah berikut:

#top

Apabila memory pada komputer anda sudah tidak mencukupi, ada beberapa hal yang bisa anda lakukan, yang pertama adalah menambah physical memory anda, dan yang kedua adalah memperbesar swap file pada komputer anda (apabila penambahan physical memory tidak mungkin dilakukan)

Memperbesar Swap File di Linux

Apa yang harus dilakukan ketika anda membutuhkan untuk menambah swap file pada Linux Server anda? ada 4 pilihan yang dapat anda lakukan sebagai berikut:

1. Membuat swap file Baru
2. Membuat swap file pada existing logical volume
3. Meng Extend swap file pada existing logical volume anda
4. Membuat partisi swap baru

Jika anda membutuhkan space swap file yang lebih besar, membuat swap file baru adalah solusi tercepat dan termudah. Melakukan swap file pada logical volume dan meng extend swap file pada logical volume merupakan langkah yang lebih sulit. Sedangkan mebuat partisi swap baru merupakan langkah yang paling sulit, namun memberikan solusi yang lebih effektif dan permanen.

Pada kesempatan ini saya akang menerangkan cara membuat swap file baru sebagai cara termudah dan tercepat untuk memperbesar ruang swap file anda.

Membuat Swap file baru

Kita perlu menentukan tambahan ruang swap file yang kita butuhkan. Mari kita asumsikan kita memerlukan 512 Megabytes swap space. Untuk menentukan jumlah blok kita perlu mengalikan ukuran file dengan 1024. Sehingga pada contoh kita adalah 512 x 1024 = 524288. Maka kita perlu menjalankan perintah sebagai berikut:

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

Posisi letak file di /home/swapfile hanyalah sebagai contoh, anda dapat meletakkan ditempat lain untuk alasan security dan lain lain. Kemudian anda dapat melakukan setup swap file dengan perintah

mkswap /home/swapfile

Swapfile yang anda buat diatas belum akan enable pada saat anda melakukan booting system. Untuk membuatnya enable pada saat booting, anda perlu menambahkan kedalam /etc/fstab/ dan baris berikut kedalam file /etc/fstab anda:

/home/swapfile swap swap defaults 0 0

Melakukan Housekeeping database

Untuk pengguna adempiere yang sudah menggunakan system lebih dari 2th umumnya, ukuran database menjadi sangat besar sehingga menjadi berat dan lambat. untuk menghindari hal tersebut perlu dilakukan housekeeping / pembersihan terhadap data data yang tidak / kurang diperlukan seperti data log, data temporary, data yang expired dll. Dimana terkadang data data tersebut ukurannya sangat besar.

Untuk itu ada perlu mengecek ukuran database secara berkala. Untuk mengetahui ukuran database postgreSQL serta ukuran masing masing table, anda bisa menggunakan script sebagai berikut:

SELECT
  schema_name,
  relname,
  pg_size_pretty(table_size) AS size,
  table_size

FROM (
       SELECT
         pg_catalog.pg_namespace.nspname AS schema_name,
         relname, pg_relation_size(pg_catalog.pg_class.oid) AS table_size

       FROM pg_catalog.pg_class
         JOIN pg_catalog.pg_namespace ON relnamespace = pg_catalog.pg_namespace.oid
     ) t
WHERE schema_name NOT LIKE 'pg_%'
ORDER BY table_size DESC;

Untuk table yang berisi log seperti ad_issue, ad_wf_eventaudit, ad_wf_activity, ad_changelog dll dimana anda dapat mengecek table mana yang ukuruannya cukup memberatkan.

anda dapat melakukan backup terhadap table ini dengan perintah:

#pg_dump -d nama_database -t nama_table > nama_file.sql

anda dapat menyimpannya sebagai backup dan ketika diperlukan anda dapat restore kembali isi table dengan perintah:

#pg_restore  -U username -d namadatabase   -t nama_table nama_fie.sql

dengan semakin kecilnya ukuran database maka umumnya kecepatan database juga akan meningkat.
selain itu tentu saja anda juga harus rutin melakukan perawatan terhadap database anda ( dengan menjalankan vaccum database dll).

Demikian kira kira ulasan saya untuk mebantu masalah kecepatan ADempiere server anda, apabila semua upaya sudah dilakukan dan server anda tetap masih lambat, bisa jadi memang sudah saatnya anda membeli server yang lebih besar.

Semoga tulisan ini dapat bermanfaat bagi pengguna ADEMPIERE INDONESIA . =======================
Salam ERP

Agung Budi Santosa
agung_bs@yahoo.com
Jakarta - Indonesia
=======================

2 comments:

Unknown said...

Dear Pak Admin,
Memori sisa banyak, CPU Usage sisa banyak, Jaringan normal dan tidak ada kendala. Tetapi server idempiere sering tiba2 lambat, bahkan untuk sekedar save laporan juga muter2 tidak jelas. Apakah ada pengaruh dengan settingan JAVA ? atau POSTGRES nya ?
Server APP dan DB berada pada server yang berbeda (2tier). Bagaimana setting best practice untuk JAVA dan POSTGRES nya ?

FYI,
Server APP 4Core CPU, 24GB RAM
Server DB 12 COre CPU, 24GB RAM
User 60 orang

Agung B Santosa said...

Mas Gendut,
ada banyak faktor yang mempengaruhi,
1. Konfigurasi database (PostgreSQL)
2. Konfigurasi Aplikasi (Java dan adempiere)
3. Konfigurasi Instalasi OS

coba googling untuk mendapatkan contoh konfigurasi , dan coba lakukan perubahan sampai mendapatkan kondisi optimum nya.
dengan hardware seperti itu harusnya sampai 200 user masih ok.

Salam,
Agung