Odoo 10 CE ajuste de desempenho - permitindo trabalhadores

3

Vou tentar explicar da melhor maneira possível o problema que tenho com o Odoo 10 CE rodando no Ubuntu 16.04 LTS VM colocado no HP Proliant G6 local rodando hyper-v.

Especificações do servidor físico:

  • Processador Intel® Xeon® CPUX5560 @ 2.80GHz, 2800 MHz, 4 core (s), 8 processador (es) lógico (s)
  • Nome do SO Microsoft Datacenter do Windows Server 2012 R2
  • Memória física instalada (RAM) 16,0 GB
  • 5x 10k SAS drives ataque 1 + 0 (um hot spare)

Especificações da VM do Ubuntu:

carlo@enecom:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    1
Core(s) per socket:    8
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 26
Model name:            Intel(R) Xeon(R) CPU           X5560  @ 2.80GHz
Stepping:              5
CPU MHz:               2762.494
BogoMIPS:              5524.98
Hypervisor vendor:     Microsoft
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-7
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm kaiser
carlo@enecom:~$

Máquina de 4Gb de RAM

carlo@enecom:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3164         291        1984         113         889        2684
Swap:          4091           0        4091

Gostaria de permitir que os funcionários obtenham um melhor desempenho. Existem poucos usuários usando a instância do odoo.

Alguém por favor pode me ajudar com o erro que eu recebo toda vez quando eu troco os trabalhadores para o valor > 0?

2018-01-13 11:23:36,666 9225 ERROR ENECOM odoo.http: Exception during JSON request handling.
Traceback (most recent call last):
  File "/odoo/odoo-server/odoo/http.py", line 640, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/odoo/odoo-server/odoo/http.py", line 677, in dispatch
    result = self._call_function(**self.params)
  File "/odoo/odoo-server/odoo/http.py", line 333, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/odoo/odoo-server/odoo/service/model.py", line 101, in wrapper
    return f(dbname, *args, **kwargs)
  File "/odoo/odoo-server/odoo/http.py", line 326, in checked_call
    result = self.endpoint(*a, **kw)
  File "/odoo/odoo-server/odoo/http.py", line 935, in __call__
    return self.method(*args, **kw)
  File "/odoo/odoo-server/odoo/http.py", line 506, in response_wrap
    response = f(*args, **kw)
  File "/odoo/odoo-server/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")
Exception: bus.Bus unavailable

Este é o meu odoo-server.conf (parte dele)

limit_memory_hard = 2147483648
limit_memory_soft = 1572864000
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
limit_time_real_cron = -1
workers = 9
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
longpolling_port = 8072
max_cron_threads = 2

Você pode me ajudar com esse erro?
Também estou executando o Odoo no apache2 com proxy reverso.
Talvez meus valores no arquivo conf não estejam corretos?

    
por Carlo 13.01.2018 / 12:30

2 respostas

0

Este é o comportamento NORMAL.

Isso acontece quando os clientes começam a abrir duas ou mais janelas / guias do navegador. Longpolling acontece em n + 1 janelas e ativará o barramento indisponível.

Esse erro pode ser ignorado. Provavelmente não há maneira de remediá-lo, a menos que você temperar com o código interno do odoo.

    
por 15.01.2019 / 18:25
0

Eu só enfrento um problema semelhante com você, em seguida, cavar até descobrir a solução @Carlo

O erro aconteceu como conflito do desenvolvimento do odoo para o bate-papo ao vivo. Sem modificar o nginx do proxy reverso:

A solicitação longpolling vai abordar x.x.x.x: 8069 / longpolling

Qual é o handel pelo módulo chamado bus do IM, então causa o erro porque parece o desenvolvimento inacabado para o modo prefork.

Para que isso funcione, você pode modificar o nginx para reverter a solicitação de longpolling do endereço x.x.x.x: 8069 / longpolling para x.x.x.x: 8072.

O que é servido pela classe GeventServer como porta de configuração longpolling_port.

Nossa configuração experimental do nginx é simples como:

upstream backend-odoo {
  server x.x.x.x:8069;
}
server {
  location /longpolling {
    proxy_pass http://x.x.x.x:8072;
  }
  location / {
    proxy_pass http://backend-odoo;
  }

Nossa configuração excessiva de odoo é simples como o odoorc:

workers = 5

Espero que tenha salvado você e o leitor por algum tempo.

    
por 29.08.2018 / 13:33

Tags