> 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 !

uWSGI has the --never-swap option. But take in account if your VPS has few
memory you can easily crash it.

>
> 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
>


-- 
Roberto De Ioris
http://unbit.it
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to