Odoo memang cocok digunakan sebagai kebutuhan ERP & CRM, karena ada beragam fitur yang disediakan. Selain itu, Odoo juga gratis, bersifat open-source, dan didalamnya sudah terdapat fitur Project Management, Sales Management, Accounting, Billing, dan Manufacturing. Odoo termasuk salah satu software yang kompleks dan memiliki data yang besar di dalam database setiap melakukan deploy module. Software ini seringkali mendapati resource yang tiba-tiba naik, maupun resource yang limit. Oleh karena itu, kamu perlu memahami cara optimasi Odoo OpenERP dan PostgreSQL dari artikel berikut.
Sebelum mempraktikkan cara optimasi Odoo OpenERP dan PostgreSQL, pastikan hal-hal berikut sudah terpenuhi:
- Menggunakan SSD (Fast Disk Drive untuk Storage).
- RAM besar (Memiliki VPS dengan RAM yang besar).
- Mode Multiprocessing aktif (Multiprocessing Mode hanya tersedia dengan Unix-based system).
- Konfigurasi dan Optimize PostgreSQL.
Cara Optimasi Odoo
Menggunakan SSD
Sebelum melakukan tuning pada konfigurasi Odoo, kamu perlu memastikan server/VPS yang digunakan sudah menggunakan SSD (Solid-state Drive). Di Dewaweb, kami menggunakan super-fast low-latency SSD Drive dengan memberikan High IOPS dan throughput yang membutuhkan akses disk I/O dengan kecepatan tinggi.
Contoh hasil tes kecepatan SSD:
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.91992 s, 559 MB/s
Artinya kecepatan SSD-nya adalah 559MB/sec.
RAM besar
Selain menggunakan SSD, menggunakan Odoo OpenERP juga akan memakai banyak resource, maka kamu membutuhkan RAM yang tidak sedikit. Berdasarkan dokumentasi Odoo, pengguna disarankan memiliki RAM sebesar 4GB.
Multiprocessing Odoo
Cara optimasi Odoo dilakukan dengan mengaktifkan mode multiprocessing. Berikut perintah untuk mengaktifkan Multiprocessing pada konfigurasi Odoo:
$ /usr/bin/openerp-server –help
Akan mengeluarkan output dibawah ini:
Usage: openerp-server [options]
Options:
–version show program’s version number and exit
(…)
Multiprocessing options:
–workers=WORKERS Specify the number of workers, 0 disable prefork mode.
–limit-memory-soft=LIMIT_MEMORY_SOFT
Maximum allowed virtual memory per worker, when
reached the worker be reset after the current request
(default 671088640 aka 640MB).
–limit-memory-hard=LIMIT_MEMORY_HARD
Maximum allowed virtual memory per worker, when
reached, any memory allocation will fail (default
805306368 aka 768MB).
–limit-time-cpu=LIMIT_TIME_CPU
Maximum allowed CPU time per request (default 60).
–limit-time-real=LIMIT_TIME_REAL
Maximum allowed Real time per request (default 120).
–limit-request=LIMIT_REQUEST
Maximum number of request to be processed per worker
(default 8192).
Artinya:
Banyaknya workers harus sama dengan banyaknya CPU yang dialokasikan ke VPS, atau jika kamu ingin memberikan beberapa CPU untuk keperluan proses PostgreSQL, cron job atau aplikasi lain yang diinstal di VPS/Server.
Pada limit-memory-soft dan limit-memory-hard biarkan tetap pada default value, atau jika ingin mengubahnya, tergantung RAM yang tersedia di VPS. Contohnya, jika kamu memiliki VPS dengan 12 CPU dan 10 GB RAM.
Lakukan konfigurasi tweak.
$ nano /etc/openerp-server.conf
Maka tweak-nya:
Workers = 12
Limit_memory_soft = 7516192768
Limit_memory_hard = 8589934592
Limit_request = 8192
Limit_time_cpu = 60
Limit_time_real = 120
Max_cron_threads = 2
Konfigurasi dan Optimasi PostgreSQL
Saat menaikkan performance dari PostgreSQL, pastikan kamu menggunakan versi terbaru dari PostgreSQL. Ada 2 pengaturan pada PostgreSQL, yaitu shared_buffers dan effective_cache_size.
Berikut ini adalah contoh penggunaan SSD VPS dengan 12 CPU dan 10 GB RAM:
$ nano /etc/postgresql/9.3/main/postgresql.conf
Maka tweak-nya:
Shared_buffers = 2048MB
Effective_cache_size = 5120MB
Shared_buffers diset 20% dari total RAM dan cache_size diset 50% dari total RAM.
Jangan lupa untuk restart services Odoo dan PostgreSQL.
Setelah menggunakan konfigurasi tersebut maka seharusnya login, loading POS, dan kebutuhan lainnya lancar.
Jangan lupa juga untuk melakukan Vacuum pada database secara manual, untuk membersihkan temporary data. Proses ini juga menggunakan CPU dan Disk Usage yang cukup tinggi.
Simpulan
Cara optimasi Odoo ini wajib pahami dan kamu lakukan supaya CPU dan RAM bekerja dengan optimal, serta untuk kelancaran kebutuhan pada modul yang ada di Odoo. Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu!