What is in code.py that you are using as the FCGI bridge to your
application. If you are using runfcgi() from web.py, from reading code
of flup, it will default to enable multiplexing.
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()
In other words, looks like it will attempt to create multiple threads.
If this is true, then that is why your virtual memory use is so high.
For starters, instead of calling runfcgi(), use instead something
like:
import flup.server.fcgi as flups
return flups.WSGIServer(func, multiplexed=False).run()
Replace func with what you passed to runfcgi().
See if that drops virtual memory usage.
Someone else will need to step in an explain how flup works out how
many threads to run when multiplexing is enabled as I don't know.
Graham
On Dec 10, 6:17 pm, JLIST <[EMAIL PROTECTED]> wrote:
> Sorry, forgot the lighttpd.conf. I don't really know how I can
> configure lighttpd to use multi-threaded fastcgi server.
>
> The server indeed is a VPS. Does this mean the 1.5GB total memory
> is virtual memory itself?
>
> $HTTP["host"] == "mysite.com" {
> server.document-root = "/var/www/mysite.com/pages/"
> fastcgi.server = (
> "/code.py" =>
> (( "socket" => "/tmp/fcgi.code.socket",
> "bin-path" => "/var/www/mysite.com/web/code.py",
> "check-local" => "disable",
> "max-procs" => 10
> ))
> )
> url.rewrite-once = (
> "^/(.*)$" => "/code.py$1"
> )
>
> }
> > The sizes of the individual process is quite normal presuming that
> > each is multithreaded. The big question now is, what system are you
> > running this on? Ie., what version of Linux, but more importantly, is
> > the Linux running inside of a virtual private server (VPS), or on
> > dedicated hardware. The way the virtual memory shows as 'used'
> > suggests it might well be a VPS.
> > We also still need to get back to how you configured FCGI processes.
> > As the size seems to indicate that they are in fact multithreaded, you
> > do not need to be running so many. Please work out whether you have
> > configured the FCGI processes as multithreaded or not and how many
> > threads are running in each. As asked previously, post the FCGI
> > configuration and indicate what mechanism you are using to bridge FCGI
> > to your Python web application.
> > Graham
> > On Dec 10, 5:36 pm, JLIST <[EMAIL PROTECTED]> wrote:
> >> Sure. Here you go (I removed the user column) -
>
> >> top - 01:32:11 up 12 days, 11:58, 1 user, load average: 0.00, 0.01, 0.00
> >> Tasks: 44 total, 1 running, 43 sleeping, 0 stopped, 0 zombie
> >> Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0%
> >> si
> >> Mem: 1548000k total, 723556k used, 824444k free, 0k buffers
> >> Swap: 0k total, 0k used, 0k free, 0k cached
>
> >> PID PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> >> 19581 16 0 10760 7636 1796 S 0 0.5 0:12.13 squid
> >> 22383 16 0 70724 6932 2380 S 0 0.4 0:02.20 python
> >> 22385 16 0 70720 6856 2356 S 0 0.4 0:01.67 python
> >> 22367 16 0 60472 6764 2340 S 0 0.4 0:01.39 python
> >> 22369 16 0 60472 6764 2340 S 0 0.4 0:01.68 python
> >> 22373 16 0 60472 6764 2340 S 0 0.4 0:01.68 python
> >> 22375 16 0 60472 6764 2340 S 0 0.4 0:01.67 python
> >> 22371 16 0 60464 6760 2340 S 0 0.4 0:01.79 python
> >> 22377 16 0 60464 6760 2340 S 0 0.4 0:01.38 python
> >> 22380 16 0 60464 6760 2340 S 0 0.4 0:01.64 python
> >> 22384 16 0 60464 6760 2340 S 0 0.4 0:01.62 python
> >> 22364 16 0 60580 6496 2380 S 0 0.4 0:01.47 python
> >> 22365 16 0 60588 6496 2380 S 0 0.4 0:01.73 python
> >> 10022 15 0 6908 2380 1792 S 0 0.2 0:00.02 sshd
> >> 10008 15 0 6908 2332 1756 S 0 0.2 0:00.01 sshd
> >> 29919 16 0 7392 2016 980 S 0 0.1 0:21.87 sendmail
> >> 29928 16 0 6496 1632 820 S 0 0.1 0:00.01 sendmail
> >> 22363 16 0 4056 1408 772 S 0 0.1 0:00.69 lighttpd
>
> >> > Why don't you post the output from 'top' so we can see what you are
> >> > seeing, rather than us having to guess.
> >> > Also, explain how you have FCGI support configured and whether the
> >> > Python FCGI adapter you are using is enabled so as to create multiple
> >> > handler threads.
> >> > Graham
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---