On 2月1日, 上午9时47分, Graham Dumpleton <[email protected]> wrote:
> On Feb 1, 12:39 pm, David Shieh <[email protected]> wrote:
>
> > 1. You should use -C 5 or even more, like -C 10
> > 2. I think you should use multiplexed=True
>
> Anecdotal evidence from past discussions elsewhere suggests that using
> multiplexing is a bad idea and actually slows things down. Pretty well
> all FASTCGI hosting mechanisms don't support multiplexing anyway, and
> that is part of the issue. That is, you are enabling a feature that
> will not do anything and the overhead of it being used in an
> environment where it isn't supported seems to slow things down.
>
I didn't do any test for this, and even don't use this parameter, I
just thought it will be better.
And as a matter of fact like you said, it's a bad solution. It's my
fault, I am sorry.
Thanks for mentioning, man.

> Graham
>
> > 3. If you use some different ports to run web.py, your nginx will a
> > proxy server then. And I do think this will make your app even faster.
>
> > BTW, I don't write any wsgi.py for webpy, just app.py for my
> > application. Is this wsgi.py part of web.py or you wrote it?
>
> > On 1月30日, 下午4时22分, skp_999 <[email protected]> wrote:
>
> > > I run my webpy apps with the following configuration (based on infos
> > > found athttp://webpy.org/cookbook/fastcgi-nginx):
>
> > > relevant part of my nginx.conf (nginx runs with 1 master and 1
> > > worker):
> > > -----
> > > location / {
> > >     include fastcgi_params;
> > >     fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
> > >     fastcgi_param PATH_INFO $fastcgi_script_name;
> > >     fastcgi_pass 127.0.0.1:8100;}
>
> > > -----
>
> > > how I spawn my fcgi processes:
> > > -----
> > > spawn-fcgi -C 5 -f /path/to/myapp.py -a 127.0.0.1 -p 8100 -P /path/to/
> > > myapppid.pid
> > > -----
>
> > > myapp.py
> > > -----
> > > #!/usr/bin/env python
> > > # -*- coding: utf-8 -*-
>
> > > import web
>
> > > urls = ("/.*", "hello")
> > > app = web.application(urls, globals())
>
> > > class hello:
> > >     def GET(self):
> > >         return 'Hello, world!'
>
> > > if __name__ == "__main__":
> > >         web.wsgi.runwsgi = lambda func, addr = None: 
> > > web.wsgi.runfcgi(func,
> > > addr)
> > >         app.run()
> > > ------
>
> > > wsgi.py of Webpy
> > > -----
> > > def runfcgi(func, addr=('localhost', 8000)):
> > >     """Runs a WSGI function as a FastCGI server."""
> > >     import flup.server.fcgi as flups
> > >     return flups.WSGIServer(func, multiplexed=True,
> > > bindAddress=addr).run()
> > > ----
>
> > > Now my questions:
>
> > > 1) Should I spawn 1 or more myapp.py processes  (with '-C 5' I have 5
> > > workers) ?
>
> > > 2) Should I run flups with multiplexed=True or False (and/or other
> > > options) ?
>
> > > 3) Do I need a different fcgi port for each of my webpy apps (I'm
> > > talking about port 8000 in wsgi.py) ?
>
> > > BTW Right now my env variables report :
> > >     wsgi.multiprocess: False
> > >     wsgi.multithread: True
> > > but with 'top' I see also my 5 processes
>
> > > tnx

-- 
You received this message because you are subscribed to the Google Groups 
"web.py" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/webpy?hl=en.

Reply via email to