Hello Mikko, You are right, I looked it up and there a lot of people having the same situation. I'll try with other VPS providers as apparently it depends on the VPS provider. Do you think I can do something on my side to block this swapping, or should I just switch provider ?
Thanks ! On Thu, 7 Aug 2014 00:44:48 +0300, Mikko Ohtamaa <[email protected]> wrote : > Hi, > > I have not withnessed this on uWSGI itself, but with other virtual > servers and Google App Engine. Basically the host reclaims all the > resources from VPN (memory, CPU). Your virtual machine is effectively > swapped out. > > When the first request hits your VPS everything must be swapped back > to memory in order to processe the request. > > You can check if this is a VPS problem to see if you can repeat the > issue on non-VPS server (or on a different hosting provider). > > -Mikko > > > On 7 August 2014 00:08, Desktop Ready <[email protected]> wrote: > > > Hello, > > > > I am building my website with the following approach: > > Nginx -> uWSGI -> Django -> PostgreSQL > > > > Everything works well but I have one odd problem: it seems that the > > first request after a long idle time (>10-20 mn) is always very slow > > (page load in 30 seconds instead of 1 second). > > > > Strangely it doesn't happen if I make a request, restart uWSGI and > > make another request. So it is not because of Django lazy > > loading/import. > > > > After some debug it is not because of Nginx or because of > > PostgreSQL. So somewhere between them is the problem. > > > > Perhaps some too aggressive memory freeing ? I'm on Debian stable > > with uWSGI 1.2.3, running on a VPS (OpenVZ). > > > > Can someone propose a way to identify the problem and solve this ? > > > > Here is my uWSGI params: > > > > uwsgi_param QUERY_STRING $query_string; > > uwsgi_param REQUEST_METHOD $request_method; > > uwsgi_param CONTENT_TYPE $content_type; > > uwsgi_param CONTENT_LENGTH $content_length; > > > > uwsgi_param REQUEST_URI $request_uri; > > uwsgi_param PATH_INFO $document_uri; > > uwsgi_param DOCUMENT_ROOT $document_root; > > uwsgi_param SERVER_PROTOCOL $server_protocol; > > uwsgi_param HTTPS $https if_not_empty; > > > > uwsgi_param REMOTE_ADDR $remote_addr; > > uwsgi_param REMOTE_PORT $remote_port; > > uwsgi_param SERVER_PORT $server_port; > > uwsgi_param SERVER_NAME $server_name; > > > > > > And here is uWSGI configuration: > > > > [uwsgi] > > > > chdir = /home/user/website > > module = website.wsgi > > home = /home/user/.virtualenvs/website > > plugin = python > > master = true > > processes = 4 > > cpu-affinity = 1 > > socket = /var/uwsgi/website.sock > > chmod-socket = 664 > > vacuum = true > > env = HTTPS=on > > post-buffering = 4096 > > > > Any hints is welcomed ! > > > > Thanks > > _______________________________________________ > > uWSGI mailing list > > [email protected] > > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi > > > > > _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
