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:
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.