Helpdesk

Cara mengaktifkan Multiprosessing

langkah awal tuning odoo

Secara default, Odoo bekerja dalam mode multithreading. Untuk penyebaran produksi, disarankan untuk beralih ke server multiprosesing karena meningkatkan stabilitas, dan membuat penggunaan sumber daya sistem yang lebih baik. Untuk mengaktifkan multiprocessing, kita perlu mengedit konfigurasi Odoo dan mengatur jumlah proses pekerja yang tidak nol.

Jumlah workers dihitung berdasarkan jumlah inti CPU dalam sistem dan memori RAM yang tersedia.

Menurut dokumentasi Odoo resmi untuk menghitung jumlah workers dan ukuran memori RAM yang diperlukan, kami akan menggunakan rumus dan asumsi berikut:

Perhitungan jumlah worker :

              • Jumlah worker maksimal teoritis = (system_cpus * 2) + 1

  • 1 worker dapat melayani ~= 6 concurrent users

  • Cron workers juga memerlukan CPU

Perhitungan ukuran memori RAM 

  • Kami akan mempertimbangkan bahwa 20% dari semua permintaan adalah permintaan berat, sedangkan 80% permintaan lebih ringan. Permintaan berat menggunakan sekitar 1 GB RAM sedangkan yang lebih ringan menggunakan sekitar 150 MB RAM
  • RAM yg diperlukan = jumlah_workers * ( (light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation) )

Jika anda tidak mengetahui berapa banyak CPU yg dimiliki pd sistem anda,ketikkan perintah berikut :

grep -c ^processor /proc/cpuinfo

Misal kita mempunyai sistem dengan 4 CPU cores, 8 GB of RAM memory dan 30 concurrent Odoo users.

  • 30 users / 6 = **5** (5 adalah jumlah worker teoritik yg diperlukan )
  • (4 * 2) + 1 = **9** ( 9 adalah jumlah worker teoritik maksimum)
  • RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM

Berdasarkan perhitungan di atas kita dapat menggunakan 5 pekerja + 1 pekerja untuk pekerja cron yang totalnya 6 pekerja.

Hitung konsumsi memori RAM berdasarkan jumlah worker :

  • RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM

Perhitungan diatas menujukkan bahwa instalasi Odoo akan memerlukan 2GB of RAM.

Untuk beralih ke mode multi-pemrosesan, buka file konfigurasi dan tambahkan baris berikut:

/etc/odoo-server.conf
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 1
workers = 5

Restart service odoo untuk melihat efek perubahannya :

sudo systemctl restart odoo-server

 Sisa sumber daya sistem akan digunakan oleh layanan lain yang berjalan di sistem ini. Dalam panduan ini kami memasang Odoo bersama PostgreSQL dan Nginx di server yang sama dan tergantung pada pengaturan anda, Anda mungkin juga memiliki layanan lain yang berjalan di server anda.