@Massiom, @hb > python anyserver.py -s gunicorn -i 127.0.0.1 -p 8000
with the above just one worker is started, hence requests are serialized. 2014-03-17 1:03 GMT+01:00 Massimo Di Pierro <massimo.dipie...@gmail.com>: > easy_install gunicorn > cd web2py > python anyserver.py -s gunicorn -i 127.0.0.1 -p 8000 > > Anyway, you need to run a test that does not include "import Package first" > Because definitively treats imports differently. That must be tested > separately. > > Massimo > > > > On Sunday, 16 March 2014 15:31:17 UTC-5, horridohobbyist wrote: >> >> Well, I managed to get gunicorn working in a roundabout way. Here are my >> findings for the fred.py/hello.py test: >> >> Elapsed time: 0.028 >> Elapsed time: 0.068 >> >> Basically, it's as fast as the command line test! >> >> I'm not sure this tells us much. Is it Apache's fault? Is it web2py's >> fault? The test is run without the full web2py scaffolding. I don't know how >> to run web2py on gunicorn, unless someone can tell me. >> >> >> On Sunday, 16 March 2014 16:21:00 UTC-4, Michele Comitini wrote: >>> >>> gunicorn instructions: >>> >>> $ pip install gunicorn >>> $ cd <root dir of web2py> >>> $ gunicorn -w 4 gluon.main:wsgibase >>> >>> >>> >>> 2014-03-16 14:47 GMT+01:00 horridohobbyist <horrido...@gmail.com>: >>> > I've conducted a test with Flask. >>> > >>> > fred.py is the command line program. >>> > hello.py is the Flask program. >>> > default.py is the Welcome controller. >>> > testdata.txt is the test data. >>> > shippackage.py is a required module. >>> > >>> > fred.py: >>> > 0.024 second >>> > 0.067 second >>> > >>> > hello.py: >>> > 0.029 second >>> > 0.073 second >>> > >>> > default.py: >>> > 0.27 second >>> > 0.78 second >>> > >>> > The Flask program is slightly slower than the command line. However, >>> > the >>> > Welcome app is about 10x slower! >>> > >>> > Web2py is much, much slower than Flask. >>> > >>> > I conducted the test in a Parallels VM running Ubuntu Server 12.04 (1GB >>> > memory allocated). I have a 2.5GHz dual-core Mac mini with 8GB. >>> > >>> > >>> > I can't quite figure out how to use gunicom. >>> > >>> > >>> > On Saturday, 15 March 2014 23:41:49 UTC-4, horridohobbyist wrote: >>> >> >>> >> I'll see what I can do. It will take time for me to learn how to use >>> >> another framework. >>> >> >>> >> As for trying a different web server, my (production) Linux server is >>> >> intimately reliant on Apache. I'd have to learn how to use another web >>> >> server, and then try it in my Linux VM. >>> >> >>> >> >>> >> On Saturday, 15 March 2014 22:45:27 UTC-4, Anthony wrote: >>> >>> >>> >>> Are you able to replicate the exact task in another web framework, >>> >>> such >>> >>> as Flask (with the same server setup)? >>> >>> >>> >>> On Saturday, March 15, 2014 10:34:56 PM UTC-4, horridohobbyist wrote: >>> >>>> >>> >>>> Well, putting back all my apps hasn't widened the discrepancy. So I >>> >>>> don't know why my previous web2py installation was so slow. >>> >>>> >>> >>>> While the Welcome app with the calculations test shows a 2x >>> >>>> discrepancy, >>> >>>> the original app that initiated this thread now shows a 13x >>> >>>> discrepancy >>> >>>> instead of 100x. That's certainly an improvement, but it's still too >>> >>>> slow. >>> >>>> >>> >>>> The size of the discrepancy depends on the code that is executed. >>> >>>> Clearly, what I'm doing in the original app (performing >>> >>>> permutations) is >>> >>>> more demanding than mere arithmetical operations. Hence, 13x vs 2x. >>> >>>> >>> >>>> I anxiously await any resolution to this performance issue, whether >>> >>>> it >>> >>>> be in WSGI or in web2py. I'll check in on this thread >>> >>>> periodically... >>> >>>> >>> >>>> >>> >>>> On Saturday, 15 March 2014 16:19:12 UTC-4, horridohobbyist wrote: >>> >>>>> >>> >>>>> Interestingly, now that I've got a fresh install of web2py with >>> >>>>> only >>> >>>>> the Welcome app, my Welcome vs command line test shows a consistent >>> >>>>> 2x >>> >>>>> discrepancy, just as you had observed. >>> >>>>> >>> >>>>> My next step is to gradually add back all the other apps I had in >>> >>>>> web2py (I had 8 of them!) and see whether the discrepancy grows >>> >>>>> with the >>> >>>>> number of apps. That's the theory I'm working on. >>> >>>>> >>> >>>>> Yes, yes, I know, according to the Book, I shouldn't have so many >>> >>>>> apps >>> >>>>> installed in web2py. This apparently affects performance. But the >>> >>>>> truth is, >>> >>>>> most of those apps are hardly ever executed, so their existence >>> >>>>> merely >>> >>>>> represents a static overhead in web2py. In my mind, this shouldn't >>> >>>>> widen the >>> >>>>> discrepancy, but you never know. >>> >>>>> >>> >>>>> >>> >>>>> On Saturday, 15 March 2014 11:19:06 UTC-4, Niphlod wrote: >>> >>>>>> >>> >>>>>> @mcm: you got me worried. Your test function was clocking a hell >>> >>>>>> lower >>> >>>>>> than the original script. But then I found out why; one order of >>> >>>>>> magnitude >>> >>>>>> less (5000 vs 50000). Once that was corrected, you got the exact >>> >>>>>> same clock >>> >>>>>> times as "my app" (i.e. function directly in the controller). I >>> >>>>>> also >>> >>>>>> stripped out the logging part making the app just return the >>> >>>>>> result and no >>> >>>>>> visible changes to the timings happened. >>> >>>>>> >>> >>>>>> @hh: glad at least we got some grounds to hold on. >>> >>>>>> @mariano: compiled or not, it doesn't seem to "change" the mean. a >>> >>>>>> compiled app has just lower variance. >>> >>>>>> >>> >>>>>> @all: jlundell definitively hit something. Times are much more >>> >>>>>> lower >>> >>>>>> when threads are 1. >>> >>>>>> >>> >>>>>> BTW: if I change "originalscript.py" to >>> >>>>>> >>> >>>>>> # -*- coding: utf-8 -*- >>> >>>>>> import time >>> >>>>>> import threading >>> >>>>>> >>> >>>>>> def test(): >>> >>>>>> start = time.time() >>> >>>>>> x = 0.0 >>> >>>>>> for i in range(1,50000): >>> >>>>>> x += (float(i+10)*(i+25)+175.0)/3.14 >>> >>>>>> res = str(time.time()-start) >>> >>>>>> print "elapsed time: "+ res + '\n' >>> >>>>>> >>> >>>>>> if __name__ == '__main__': >>> >>>>>> t = threading.Thread(target=test) >>> >>>>>> t.start() >>> >>>>>> t.join() >>> >>>>>> >>> >>>>>> I'm getting really close timings to "wsgi environment, 1 thread >>> >>>>>> only" >>> >>>>>> tests, i.e. >>> >>>>>> 0.23 min, 0.26 max, ~0.24 mean >>> >>>>>> >>> > -- >>> > 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 web2py+un...@googlegroups.com. >>> > 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 web2py+unsubscr...@googlegroups.com. > 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.