One clarification ... better performance is mostly due to the fact that the
python GIL is not getting in the way....

2016-10-25 19:20 GMT+02:00 Michele Comitini <[email protected]>:

> > 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/questions/19439190/segmentation-f
>>>>>>>> ault-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