Welcome! Log In Create A New Profile

Advanced

How to do a large buffer size > 64k uWSGI requests with Nginx proxy | uwsgi request is too big with nginx

May 27, 2021 02:55PM
How to do a large buffer size > 64k uWSGI requests with Nginx proxy

Deployment stack :
Odoo ERP 12
Python 3.7.10 and Werkzeug 0.16.1 as backend
Nginx proxy : 1.20.0
uWSGI : 2.0.19.1
OS : FreeBSD 13.0-RELEASE

Nginx throw an alert from uwsgi of request is too big
Alert : uwsgi request is too big: 81492, client: 10.29.79.250, server: odoo12ce-erp, request: "GET /web/webclient/..........."

As you can see I increased the "uwsgi_buffer_size " in both uwsgi.ini and nginx.conf.

Nginx config :
`{

# increase the size of the buffers to handle odoo data
# Activate uwsgi_buffering
uwsgi_buffering on;
uwsgi_buffers 16 128k;
uwsgi_buffer_size 128k;
uwsgi_busy_buffers_size 256k;
# uwsgi_max_temp_file_size with zero value disables buffering of responses to temporary files
uwsgi_max_temp_file_size 0;
uwsgi_temp_file_write_size 256k;

uwsgi_read_timeout 900s;
uwsgi_connect_timeout 900s;
uwsgi_send_timeout 900s;

}`

uwsgi.ini config :

`

[uwsgi]
strict = true
pcre-jit = true
#limit-as = 1024
#never-swap = true

pidfile = /var/run/odoo_erp/odoo12ce_uwsgi.pid
# safe-pidfile = /var/run/odoo_erp/odoo12ce.pid

# Enable REUSE_PORT flag on socket to allow multiple instances binding on the same address (BSD only).
reuse-port = true

# Testing with www or odoo12ce
uid = odoo12ce
gid = odoo12ce

# To test and verification
callable = application
# To test and verification
#module = odoo.service.wsgi_server:application

# enable uwsgi master process
master = true
lazy = true
lazy-apps=true

# turn on memory usage report
#memory-report=true

enable-threads = true
threads = 2
thunder-lock = true
so-keepalive = true

buffer-size = 262144
http-buffer-size = 262144

response-headers-limit = 262144
http-headers-timeout = 900
# set max connections to 1024 in uWSGI
listen = 1024

so-send-timeout = 900
socket-send-timeout = 900
so-write-timeout = 900
socket-write-timeout = 900

http-timeout = 900
socket-timeout = 900

wsgi-accept-buffer = true
wsgi-accept-buffers = true
# clear environment on exit and Delete sockets during shutdown
vacuum = true
single-interpreter = true

# Shutdown when receiving SIGTERM (default is respawn)
die-on-term = true
need-app = true

# Disable built-in logging
disable-logging = false

# but log 4xx's and 5xx's anyway
log-4xx = true
log-5xx = true

# full path to Odoo12ce project's root directory
chdir = /odoo_erp/odoo12ce/odoo12ce_server
#chdir2 = = /odoo_erp/odoo12ce/odoo12ce_server

pythonpath = /odoo_erp/odoo12ce/odoo12ce_server

# odoo12ce's wsgi file
wsgi-file = /odoo_erp/odoo12ce/odoo12ce_server/setup/odoo12ce-uwsgi.py

#emperor = /odoo_erp/odoo12ce/vassals

uwsgi-socket = 127.0.0.1:8070
uwsgi-socket = 127.0.0.1:8170

# daemonize uwsgi and write messages into given log
daemonize = /var/log/odoo_erp/odoo12ce/odoo12ce_uwsgi_emperor.log

# Restart workers after this many requests
max-requests = 2000

# Restart workers after this many seconds
max-worker-lifetime = 3600

# Restart workers after this much resident memory
reload-on-rss = 2048

# How long to wait before forcefully killing workers
worker-reload-mercy = 90

# Maximum number of workers allowed (cpu * 2)
processes = 8

`
Subject Author Posted

How to do a large buffer size > 64k uWSGI requests with Nginx proxy | uwsgi request is too big with nginx

Rai Mohammed May 27, 2021 02:55PM

Re: How to do a large buffer size > 64k uWSGI requests with Nginx proxy | uwsgi request is too big with nginx

Maxim Dounin May 27, 2021 07:54PM

Re: How to do a large buffer size > 64k uWSGI requests with Nginx proxy | uwsgi request is too big with nginx

Rai Mohammed May 27, 2021 09:59PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 181
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready