Again, I tested

def application(environ, start_response):
   status = '200 OK'
   output = 'Hello World!'
   response_headers = [('Content-type', 'text/plain'),
                       ('Content-Length', str(len(output)))]
   start_response(status, response_headers)
   return [output]

But not webpy. And got 1,500 requests per second under Apache/mod_wsgi. Does
it make sense to you?

2009/5/25 Graham Dumpleton <[email protected]>

>
>
>
> On May 25, 2:17 pm, Tim <[email protected]> wrote:
> > As I talked in the last posts, the hello world application was run
> > under apache/mod_wsgi. "I just tested with mod_wsgi under apache and
> > the requests/second is about 1,500 with a hello world application. "
> >
> > Please refer to the 3rd post for the details.
>
> I originally suggested a plain WSGI hello world, not a web.py hello
> world. There is a difference, as plain WSGI hello world doesn't depend
> on web.py. If what you did was a web.py hello world test then fine.
> One reason for suggesting a plain WSGI hello world test was that it
> would also show you what overhead there was in web.py dispatching.
> Depending on the complexity of your application, if the difference
> between web.py and plain WSGI hello world was marked, it might show
> you that perhaps using WSGI directly may yield better performance. For
> something as simple as serving advertisements where URL routing
> probably not needed, may not even be a need for web.py.
>
> So, if you haven't done a WSGI hello world, would be curious to see
> results of that relative to web.py. WSGI hello world program below.
>
>  def application(environ, start_response):
>    status = '200 OK'
>    output = 'Hello World!'
>
>    response_headers = [('Content-type', 'text/plain'),
>                        ('Content-Length', str(len(output)))]
>    start_response(status, response_headers)
>
>    return [output]
>
> Graham
>
> > On May 25, 12:02 pm, Graham Dumpleton <[email protected]>
> > wrote:
> >
> > > On May 25, 1:41 pm, 柯甫敬 <[email protected]> wrote:
> >
> > > > For the performance bottlenecks on my application side, I think I
> could have
> > > > a couple of ways to optimize. You could regard it as a simple hello
> world
> > > > application for now. My real question actually was "is it possible
> for
> > > > lighttpd/fastcgi/webpy to support up to 1,000 requests/second for a
> simple
> > > > hello world application"? I think increasing the threads limit in
> webpy
> > > > could help, but I didn't find where to set or change in webpy. Can
> anyone
> > > > help on this?
> >
> > > What does a hello world program using web.py on Apache/mod_wsgi yield?
> > > If you can't even get 1000 requests per second on Apache/mod_wsgi,
> > > which is already proving to yield better performance than your fcgi
> > > setup, then unlikely that even if fcgi is tuned that you will achieve
> > > anything better.
> >
> > > Even though lighttpd or nginx may be faster than Apache for yielding
> > > static files, flup when used with fcgi adds a fair bit more overhead.
> > > End result is that more often that not, a fcgi/flup application will
> > > run slower than Apache/mod_wsgi. That is why Apache/mod_wsgi is a good
> > > reference here as is close to maximum you can expect to get without
> > > starting to load balance across multiple boxes etc.
> >
> > > Graham
> >
> > > > Thanks in advance.
> > > > 2009/5/25 Tim <[email protected]>
> >
> > > > > Thanks Graham.
> > > > > My application is actual an ad serving application. I just tested
> with
> > > > > mod_wsgi under apache and the requests/second is about 1,500 with a
> hello
> > > > > world application.
> > > > > It looks like a problem with fcgi then. How do you think?
> > > > > 2009/5/25 Graham Dumpleton <[email protected]>
> >
> > > > >> On May 25, 12:08 pm, Tim <[email protected]> wrote:
> > > > >> > I'm recently porting an apache module to be webpy/fcgi/lighttpd
> based
> > > > >> > application, but the performance doesn't look like good.
> >
> > > > >> > With the apache module writen in C, it was able to process up to
> 2,000
> > > > >> > requests per second, however, when I ran a simple helloworld
> > > > >> > application with webpy/fcgi/lighttpd, the server was processing
> about
> > > > >> > 300 requests per second.
> >
> > > > >> > I was followinghttp://webpy.org/installfortheinstallationand
> > > > >> > default lighttpd configurations. I'm new to lighttpd and webpy,
> so I'm
> > > > >> > wondering if there are any configuration options in
> lighttpd/webpy to
> > > > >> > tune the performance to make the requests/second to be more than
> > > > >> > 1,000? Also, is there any way to increase the threads limit in
> webpy
> > > > >> > since when I tested with more than 120 concurrent users I would
> get
> > > > >> > "backend is overloaded" errors?
> >
> > > > >> What does your application do? Without knowing that, it is very
> hard
> > > > >> to comment on whether your problems may actually be in your
> > > > >> application, the fastcgi bridge, or your web server.
> >
> > > > >> You should perhaps create a simple WSGI hello world program that
> > > > >> doesn't even use web.py and determine how many requests that can
> > > > >> handle. You might also as comparison to gauge whether the web
> server
> > > > >> and/or fastcgi is the issue, compare that to WSGI hello world
> program
> > > > >> under Apache/mod_wsgi on same system.
> >
> > > > >> Graham- Hide quoted text -
> >
> > > - Show quoted text -
> >
>

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