As many of you have seen we've started getting timeouts with fasClient against the accounts system. After some probing I decided to look at alternate deployment methods. Bottom line... python threading blows. So here's the scoop. Right now we use cherrypy + supervisor to deploy each turbogears app. Each app gets its own port. WSGI also relies on cherrypy but does things in a different way. mod_wsgi is an apache plugin, and instead of every app getting its own port, it gets its own apache namespace (like /accounts/) mod_wsgi can be setup to deploy more then one process at a time and send requests to both. Straight tg + cherrypy cannot do this unless you have two instance listening on different ports and have a load balancer in front sending to both ports. So I ran some tests. (attached and at - http://mmcgrath.fedorapeople.org/wsgivscherrypy1.png) After proper tuning for the machine mod_wsgi was not only a little faster (20 seconds faster in the extreme end) it was also considerably more reliable and scaled predictably. Straight cherrypy would reliably die on me at around 40 concurrent requests. Those requests would complete but sometimes timeout or take too long for the client to listen. I think this is helping attribute to whats going on in our environment. The test in question was /accounts/group/list (its not a quick/small request) There's other code changes on the way but I think mod_wsgi is a win for us in this instance. After the freeze I'd like to deploy it on the fas boxes and see how things go. We should then talk about our other deployments. I like supervisord but it may be better for us in the long run to use apache straight up. Also we get some other niceties like being able to more easily serve static content, and all the mod_[headers,rewrite] stuff as well that comes with apache. Thoughts, questions, comments? -Mike
Attachment:
wsgivscherrypy1.png
Description: PNG image
_______________________________________________ Fedora-infrastructure-list mailing list Fedora-infrastructure-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-infrastructure-list