[Twisted-web] Multithread SSL
michal.dtz at gmail.com
Thu Jun 25 01:14:40 EDT 2009
What about ampoule, https://launchpad.net/ampoule , can you check it?
2009/6/24 lasizoillo <lasizoillo at gmail.com>
> 2009/6/24 Yann Pomarede <yann.pomarede_twisted at gadz.org>:
> > Thanks for your reply.
> > I already thought about that but I'll have other problems if I do so:
> > - I need some variables to be common between the instances (Maybe it's
> > not so difficult with RPC or a DB or shared memory).
> If you need full ACI (ACID without durability) this can be a performance
> > - I also need to keep a pool of all the outgoing the connections (to
> > perform some real time stats and to limit the number of connection per
> > user)
> The load balancer can limit number of connections (without decipher
> ssl) or agregate real time stats from web servers (for easier
> management). You can upgrade code in your web app without lost service
> too ;-)
> > But if I do not have other choices, it's certainly what I'll have to
> Threads are not the solution. Python have a GIL (Global Inter-Lock)
>  and don't use multicore facilities. I don't know if you can do
> multiprocessing with twisted. A load balancer sound more easy (and
> maybe more horizontal scalable).
>  http://www.dabeaz.com/python/GIL.pdf
> Excuse my poor english.
> > Yann.
> > On Wed, Jun 24, 2009 at 21:08, Duncan M.
> > McGreggor<duncan.mcgreggor at gmail.com> wrote:
> >> Yann Pomarede wrote:
> >>> Hello,
> >>> I used Twisted to write some kind of proxy and it's working great,
> >>> it's so easy to develop and understand.
> >>> But I have a problem. I use SSL (on both side of this app) and the
> >>> bandwidth available is limited to the power of one of my CPU due to
> >>> the high cost of the SSL encryption.
> >>> I would like to use both core of my CPU to increase the bandwidth of
> >>> this application but it does not seem easy to do.
> >>> # Here is the server definition in myapp.tac
> >>> from twisted.application import internet, service
> >>> application = service.Application('MyApp', uid=1001, gid=1001)
> >>> internet.SSLServer(80, serverFactory, MySSLContext(), 50,
> >>> # And here the clients connections
> >>> from twisted.internet import reactor, ssl
> >>> mySSLContext = ssl.ClientContextFactory()
> >>> mySSLContext.method = SSL.SSLv23_METHOD
> >>> reactor.connectSSL(self.HOST, self.PORT, self, mySSLContext)
> >>> Does anyone already have this kind of problem? Is there an easy way to
> >>> multithread the SSL encryption part?
> >> You could run two instances and load balance them...
> >> d
> >> _______________________________________________
> >> Twisted-web mailing list
> >> Twisted-web at twistedmatrix.com
> >> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
> > _______________________________________________
> > Twisted-web mailing list
> > Twisted-web at twistedmatrix.com
> > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
> Twisted-web mailing list
> Twisted-web at twistedmatrix.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Twisted-web