> Regarding switching uwsgi to fork-only - should I expect a performance
hit?

Unless you are very low on RAM you should expect better performance.  Linux
fork is a clone call  that uses fully fledged copy-on-write strategy. Uwsgi
forks are long running processes so forking overhead has little impact.
Forks happen late in the request handling chain so memory across processes
diverges little even on long periods.

 Keep an eye on RSS usage of processes (use top or htop) if you see a
memory runaway over time, uwsgi will take care of it killing the faulty
long running process.  Memory runaway happening too frequently could be an
indication that there is something wrong with your code or some module you
use not releasing some large in memory structure.



2016-10-25 18:09 GMT+02:00 Jim S <[email protected]>:

> Richard
>
> Just checked my versions and my old systems that work have:
>
> uwsgi 2.0.10
> nginx 1.4.6
> web2py 2.14.6
>
> New system that needs altered uwsgi config
>
> uwsgi 2.0.14
> nginx 1.10.0
> web2py 2.14.6
>
> My uwsgi configs are identical except for the commented out 'limit-as =
> 512' line.  Nginx configs are identical.
>
>
> Regarding switching uwsgi to fork-only - should I expect a performance
> hit?  Any other gotchas I should consider?
>
> I'm not too concerned as my pages that use pandas have been working just
> fine for almost 6 months now.  But, can never be too careful...
>
> Really appreciate all the input.
>
> -Jim
>
>
>
> On Tuesday, October 25, 2016 at 9:50:36 AM UTC-5, Richard wrote:
>>
>> Jim which web server are we talking now? Nginx? I think you should
>> copy/paste configuration so we can have look, I can compare to mine... Just
>> the relevant part would suffice...
>>
>> About threading notice of pandas it says holding lock in case of multiple
>> dataframe copy, but Jim report he can't even import pandas as pd... So I
>> don't think it the root cause of his issue... But it good to know I wasn't
>> aware of that...
>>
>> Some good read about uwsgi relate to threading :
>>
>> http://uwsgi-docs.readthedocs.io/en/latest/ThingsToKnow.html (search for
>> thread)
>>
>> http://uwsgi-docs.readthedocs.io/en/latest/articles/Serializ
>> ingAccept.html (I notice I have thunder-lock = true in my emperor.ini)
>>
>> I would compare our nginx/uwsgi conf to see if there is not some diff
>> that could explained your issue... I am also curious to know if I could
>> have threading issue with pandas in my app...
>>
>> Richard
>>
>>
>>
>> On Tue, Oct 25, 2016 at 8:32 AM, Jim Steil <[email protected]> wrote:
>>
>>> Massimo / Michele
>>>
>>> Thanks for the input.  I don't know anything about fork only mode.
>>> Looks like I have some reading to do.  Thanks again for the input.
>>>
>>> -Jim
>>>
>>>
>>> On Tue, Oct 25, 2016 at 4:02 AM, Michele Comitini <[email protected]
>>> > wrote:
>>>
>>>> @Jim as per Massimo input, did you check that your uwsgi configuration
>>>> is in fork mode only, no threading?  That could be one possible cause.
>>>>
>>>> Try also gunicorn instead of uwsgi http://gunicorn.org/
>>>>
>>>> 2016-10-25 7:19 GMT+02:00 Massimo Di Pierro <[email protected]>:
>>>>
>>>>> Rocket is a multithreaded server and pandas is not thread safe (
>>>>> http://pandas.pydata.org/pandas-docs/stable/gotchas.html) be very
>>>>> careful with it.
>>>>>
>>>>>
>>>>> On Tuesday, 16 August 2016 13:19:42 UTC-5, Dave S wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tuesday, August 16, 2016 at 8:50:51 AM UTC-7, Jim S wrote:
>>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> I currently have my app deployed using Ubuntu 14.04 / nginx /
>>>>>>> uwsgi.  I have a couple of servers load-balanced behind a haproxy 
>>>>>>> server.
>>>>>>> I'm running ssl on the haproxy system and talking http to web2y through
>>>>>>> nginx/uwsgi.
>>>>>>>
>>>>>>> Now, I'm trying to upgrade ubuntu to 16.04 and an having issues with
>>>>>>> pandas (used in my web2py app) through the nginx/uwsgi stack.  See this
>>>>>>> issue for what might be causing it - http://stackoverflow.com/que
>>>>>>> stions/19439190/segmentation-fault-while-using-pandas-in-uwsgi
>>>>>>>
>>>>>>> Fixing this error is obviously something beyond my capabilities so
>>>>>>> it got me thinking about alternative deployment options.  One that I'm
>>>>>>> considering is replacing my nginx / uwsgi stack with just the rocket 
>>>>>>> server
>>>>>>> to serve the web2py app.  My rocket servers (2 of them) would be behind 
>>>>>>> the
>>>>>>> haproxy server so would not be public-facing.
>>>>>>>
>>>>>>> I'm aware of the recommendation against running rocket in a
>>>>>>> production environment but am not aware of the reasons for the
>>>>>>> recommendation.
>>>>>>>
>>>>>>> My question - does running multiple rocket servers behind haproxy
>>>>>>> remove the concerns about rocket in a production environment?
>>>>>>>
>>>>>>> -Jim
>>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm not familiar with Pandas, so I can't comment on that part.  I run
>>>>>> rocket, but only a single instance as a development environment.  Perhaps
>>>>>> Mariano and Massimo have tested other configurations, but I think the 
>>>>>> bulk
>>>>>> of us using rocket only run a single instance.
>>>>>>
>>>>>> What are the specific rocket concerns?  Scaling?
>>>>>>
>>>>>> /dps
>>>>>>
>>>>>> --
>>>>> Resources:
>>>>> - http://web2py.com
>>>>> - http://web2py.com/book (Documentation)
>>>>> - http://github.com/web2py/web2py (Source code)
>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "web2py-users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Michele Comitini
>>>> Glisco s.n.c.
>>>> tel: +39 335 66 71 336
>>>>
>>>> --
>>>> Resources:
>>>> - http://web2py.com
>>>> - http://web2py.com/book (Documentation)
>>>> - http://github.com/web2py/web2py (Source code)
>>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>>> ---
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "web2py-users" group.
>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to
>>>> pic/web2py/MTOjl8gPuTk/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> Resources:
>>> - http://web2py.com
>>> - http://web2py.com/book (Documentation)
>>> - http://github.com/web2py/web2py (Source code)
>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "web2py-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> Resources:
> - http://web2py.com
> - http://web2py.com/book (Documentation)
> - http://github.com/web2py/web2py (Source code)
> - https://code.google.com/p/web2py/issues/list (Report Issues)
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to