archetipo ha scritto:
Non sono proprio sicuro che i Workers servano solo per la gestione delle richieste concorrenti, ma direi che migliorano come diretta conseguenza del loro utilizzo.
Per il resto e' chiaro che, ottimizzare i processi e le esecuzioni ed il codice che li genera, possa cambiare parecchio a livello di prestazioni.
Una singola chiamata in realtà scatena una serie di invocazioni per cui abilitando i worker le prestazioni migliorano e non di poco nell'utilizzo generale di odoo anche con un solo utente.
Se il problema però risulta legato ad una singola funzione python ... che so faccio un esempio la invoice.validate() questa viene eseguita nel thread specifico del worker (o nei thread ma questo è altro discorso) ed in questo caso i worker non aiutano.
Odoo base oltretutto è impostato per utilizzare al massimo il 60% della CPU, nell'esempio di prima utilizzerà al massimo il 60% di un core .... giusto per dare qualche esempio.
Ci son ottimizzazioni generali, cache, %CPU, compressione javascript, worker(s) che vanno fatte su odoo ed altre che vanno fatte su postgress .. indici, cache etc etc. Tutto questo migliora il sistema ma per i colli di bottiglia su specifiche funzioni bisogna fare altro tipo di analisi che son molto difficili da spiegare su un forum in maniera chiara e concisa volendo oltretutto rimanere nel generale.