سرویس دهنده اودوو (odoo Builtin Server)
اودوو دارای یک سرویسدهنده HTTP داخلی است که ازmulti-threading multiprocessing و پشتیبانی میکند. برای سایتهای عملیاتی استفاده از سرویسدهندههایی که از چند پردازشی پشتیبانی نمایند، توصیه میشود. استفاده از این سرویسدهنده ها ثبات سیستم را افزایش داده و باعث میشود تا استفاده از منابع بهینه شده و نظارت بر آنها راحتتر انجام شود.
· Multiprocessing به وسیله تنظیم نمودن یک عدد غیر صفر در پارامتر تعداد worker انجام میشود. تعداد worker باید بر مبنای تعداد core سیستم تعیین شود.
· تعداد workerها را میتوان بر اساس مشخصات سختافزاری تنظیم نمود تا باعث هدر رفتن منابع نشود.
محاسبه تعداد worker ها برای odoo
قاعده کلی محاسبه (#CPU*2+1) میباشد. همچنین باید بدانیم که حدودا چه مقدار Worker نیاز داریم به صورت کلی هر 6 کاربر همزمان نیاز به یک worker دارند. پس برای محاسبه مقدار CPU مورد نیاز باید اول تعداد کاربران فعال را مشخص نمایید. به طور مثال بر روی سروری با 32 هسته امکان سرویسدهی خوب به حدود 400 (به طور دقیق بر اساس فرمول 390) کاربر همزمان را داریم.
محاسبه سایز حافظه برای odoo
فرمول و قاعده کلی برای محاسبه حافظه مورد نیاز عبارت است از:
Needed RAM = #worker * ( (light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation) )
light_worker_ratio: نرخ worker ها با حجم کار سبک میباشد. که معمولاٌ 0.8 یا 80٪ در نظر گرفته میشود.
light_worker_ram_estimation: میزان حافظه مورد نیاز برای فعالیتهای سبک به ازای هر worker است که معمولا 150مگابایت در نظر گرفته میشود.
heavy_worker_ratio: نرخ worker ها با حجم کار بالاست که بر اساس تجربه بر روی odoo مقدار 0.2 یا 20٪ در نظر گرفته میشود.
heavy_worker_ram_estimation: مقدار حافظه مورد نیاز به ازای هر یک از worker های با حجم بالا است که معمولا ۱ گیگا بایت در نظر گرفته میشود.
با استفاده از فرضیات و قواعد بالا برای 400 کاربر همزمان (منظور تعداد کاربری است که در لحظه و همزمان با هم در داخل سیستم فعالیت مینمایند.) 32 هسته cpu و حدود 20 گیگابیت حافظه نیاز میباشد.