Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: Ottimizzazione Odoo per la produzione

Ottimizzazione Odoo per la produzione 2 Anni 3 Mesi fa #25985

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Oggi mi son cimentato in alcune ottimizzazioni di odoo legate alla produzione ... che condivido con voi sperando di far cosa gradita.

Prima una doverosa premessa, se installate odoo per usarlo esclusivamente in pochi e dentro la vostra rete privata cio' che leggerete in seguito sarà di poca o nulla utilità ... vi serve ottimizzare postgress (ma di questo ne parleremo in una prossima puntata).

Diverso il discorso se con odoo ci gestite sito web e/o ecommerce ed in generale tutta la parte aperte al pubblico. In questo ultimo caso ottimizzare il carico sui worker odoo è basilare per le prestazioni.

Odoo SA stessa consiglia di ruotare le risorse statiche tramite web-server ma non specifica come :D ... ecco l'esempio che segue è un possibile approccio al come.

Ingredienti:

1) Odoo
2) Nginx

risultato, non saprei sto ancora a far dei test sul sito di prova (nel senso che fino ad oggi non ci stava :D) che trovate in firma ma i primi risultati son incoraggianti.

In parole povere ho configurato nginx in modo tale che restituisca le risorse statiche presenti in odoo, come potete vedere dal file di configurazione che allego in seguito è stato necessario configurare la multipath affinchè il web-server potesse scandire tutte le directory degli addons alla ricerca del file statico. Le risorse vengono indicizzate per velocizzare il successivo recupero.

Se avete domande o curiosità chiedete pure.

Buon divertimento e sperimentazione.
upstream odoo {
server 127.0.0.1:8069 weight=1 fail_timeout=0;
}

upstream odoo-im {
server 127.0.0.1:8072 weight=1 fail_timeout=0;
}

server {
    	listen 80 default_server;
    	listen [::]:80 default_server;
    	server_name ktec.it www.ktec.it;
	rewrite ^/.*$ https://$host$request_uri? permanent;
}

server {
    	listen 443 ssl http2 default_server;
    	listen [::]:443 ssl http2 default_server;
    	include snippets/ssl-ktec.it.conf;
    	include snippets/ssl-params.conf;

	server_name _;

    	location / {
        	proxy_pass  http://odoo;
        	proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

        	proxy_buffer_size 128k;
        	proxy_buffers 16 64k;
        	proxy_redirect off;

        	proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header X-Forwarded-Proto https;
    	}

    	location /longpolling {
        	proxy_pass http://odoo-im;
    	}

	#odoo static files
        location ~* /web/static/ {
                root "/opt/odoo/odoo-server/addons/";
                try_files $uri $uri/ @adds2;
                autoindex on;
        }
        location @adds2 {
                root "/opt/odoo/odoo-server/odoo/addons/";
                try_files $uri $uri/ @adds3;
        }
        location @adds3 {
                root "/opt/odoo/custom/addons/";
                try_files $uri $uri/ @adds4;
        }
        location @adds4 {
                root "/opt/odoo/filestore/addons/";
                try_files $uri $uri/ @adds5;
        }
        location @adds5 {
                root "/opt/odoo/enterprise/addons/";
                try_files $uri $uri/ =404;
        }
        
        #letsencrypt autorenew location
        location ~ /.well-known {
                allow all;
        }

}
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: difra, Vinicius05, ndrini, MiCantino

Ottimizzazione Odoo per la produzione 2 Anni 2 Mesi fa #26385

  • ndrini
  • Avatar di ndrini
  • Offline
  • Gold Boarder
  • Messaggi: 291
  • Ringraziamenti ricevuti 22
  • Karma: 0
Le guide sono sempre utili, grazie!!

Pero, veramente, io non ho capito che sono i workers odoo
Ho trovato questo post
stackoverflow.com/questions/35918633/what-is-the-worker-in-odoo
parla dell'architettura Multithreading o multiprocessing del server...
:what:

Posso pensare i workers come istanze su un pc (quelle indentificate dal PID)?

Andrea
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Ottimizzazione Odoo per la produzione 1 Anno 11 Mesi fa #27382

  • ndrini
  • Avatar di ndrini
  • Offline
  • Gold Boarder
  • Messaggi: 291
  • Ringraziamenti ricevuti 22
  • Karma: 0
Ancora oscurità su cosa sono i workers
:matrix:

:)
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Ottimizzazione Odoo per la produzione 1 Anno 11 Mesi fa #27383

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
I workers non sono altro che processi indipendenti di odoo avviati tramite gevent.

A differenza di una istanza multithread dove se va in crash il processo principale tutto si ferma in una multiprocesso è più' tollerante e risponde meglio a carichi alti.

Ovviamente sto banalizzando il tutto e di molto, su multiprocesso e multithread si potrebbe scrivere un romanzo .... ricordo ancora le 70 e passa pagine della mia tesina sui sistemi operativi che scrissi eoni fa .... è vecchia e decrepita ma se la ritrovo magari come pezzo di storia a qualcuno interessa.
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: ndrini
Tempo creazione pagina: 0.132 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam