Menu

Настройки за мултипроцесорна работа на Odoo 8

Обикновенно ERP Odoo  се инсталира на VPS или на физически сървър. Винаги логическите процесори са повече от един, най често 4, 8, 16. Ако Odoo не е настроен да работи в мултипроцесорен режим, вие не ползвате ефективно сървъра, в часност процесора му. Това е особенно важно в реални ситуации, когато в системата работят паралелно (едновременно) над 5 потребителя. Без значение е общия брой потребители.

По подразбиране мултипроцесорната поддръжка не е включена в стандартния конфигурационен файл (напр. /etc/odoo-server.conf). Съществуват няколко параметъра, които трябва да се зададът и настроят спрямо броя на логическите ядра и наличната RAM. На първо място това е workers. Правилото е workers=(cpu cores X 2)+1 или при 4 ядра се задава workers=9. Друг важен параметър е max_cron_threads. Той има стойност от 1 до 3 според броя на ядрата и наличната RAM. Други два параметъра са limit_soft_memory и limit_memory_hard, като limit_memory_hard е с 30% по-голям от limit_soft_memory. Тези параметри зависят от наличната RAM и при 4 ядра (8 логически), limit_memory_hard = 1572864000, limit_memory_soft = 107374182, workers=9 и max_cron_threads=3, Odoo спокойно се справя с над 20 паралелно работещи потребителя.

По някаква причина, не сме изследвали проблема, ако е включен мултипроцесорния режим и longpolling на порт 8072 и xmlrpc порта не е 8069, в лога непрекъснато се появява грешката Exception: bus.Bus unavailable.

Дискусии и експерименти на тази тема можете да видите на https://github.com/DocCyblade/tkl-odoo/issues/49

В таблицата по-долу можете да видите някои готови стойности при различни комбинации на ядра и RAM:

CPUsPhysicalworkerscronMem PerMax Memlimit_memory_soft
ANY =< 256MB NR NR NR NR NR
1 512MB 0 N/A N/A N/A N/A
1 512MB 1 1 177MB 354MB 185127901
1 1GB 2 1 244MB 732MB 255652815
1 2GB 2 1 506MB 1518MB 530242876
2 1GB 3 1 183MB 732MB 191739611
2 2GB 5 2 217MB 1519MB 227246947
2 4GB 5 2 450MB 3150MB 471974428
4 2GB 5 2 217MB 1519MB 227246947
4 4GB 9 2 286MB 3146MB 300347363
4 8GB 9 3 546MB 6552MB 572662306
4 16GB 9 3 1187MB 14244MB 1244918057
6 12GB 10 4 763MB 10682MB 800304465
6 16GB 13 4 838MB 14246MB 878765687
6 32GB 13 4 1676MB 28492MB 81757531374
8 32GB 17 5 1295MB 28490MB 1358092426
8 64GB 17 5 2590MB 56980MB 2716184851

Calculations on how we got the above chart

M = Total memory in bytes (1048576 = 1MB)
W = Workers (workers )
CW = Cron workers (max_cron_threads)
TW = W + CW

For ram 512 to 999MB
((TW * 0.45 ) + TW) / M = limit_soft_memory

1GB - 1.99GB
(TW * 0.40 ) + (TW - 1) / M = limit_soft_memory

2GB - 3.99GB
(TW * 0.35 ) + (TW - 1) / M = limit_soft_memory

4GB - 7.99GB
(TW * 0.30 ) + (TW - 2) / M = limit_soft_memory

8GB + 11.99GB
(TW * 0.25 ) + (TW - 3) / M = limit_soft_memory

12GB +
(TW * 0.15 ) + (TW - 3) / M = limit_soft_memory

 

Типично натоварване на реална инсталация при един потребител и синхронизация на преводи:

odoo workers 9 cron 3

Последно променена вСъбота, 25 Юни 2016 14:39
  • Оценете
    (1 глас)
  • Публикувана в Odoo 8
  • Прочетена 5399 пъти
администратор

Odoo (OpenERP) интегратор и администратор

Уеб сайт: www.openerp.bg

Оставете коментар

Моля убедете се, че всички задължътелни полета (маркирани със звезда) са попълнени. Не е разрешен HTML код.

нагоре

Вход или Регистрирай се