Apache/SSL and threading

1999-10-25 Thread pt bb


Please forgive (and inform) me if there is a better
place to ask this -- I'm new to Apache.

I intend to write a web application which needs to
stream data through long-lived connections, both
SSL-authenticated and unauthenticated.  I haven't
decided yet whether I should tunnel my stream in SSL,
use a mime multipart response, or just use a really
long and slow HTTP response to encode a stream back
from the server.

I've briefly looked at the Apache source and it seems
that Apache does IO synchronously, and that a single
thread serves an entire request to completion.  If
this is correct, then each open SSL connection needs
its own thread -- a perf disaster for my application.

Am I totally wrong about my conclusions?  Is Apache
suited to my need to stream?  Any advice would be
greatly appreciated.

Thanks!
Peter
__
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com
__
Apache Interface to OpenSSL (mod_ssl)   www.modssl.org
User Support Mailing List  [EMAIL PROTECTED]
Automated List Manager[EMAIL PROTECTED]



Re: Apache/SSL and threading

1999-10-25 Thread Ralf S. Engelschall

On Sat, Oct 23, 1999, pt bb wrote:

 Please forgive (and inform) me if there is a better
 place to ask this -- I'm new to Apache.
 
 I intend to write a web application which needs to
 stream data through long-lived connections, both
 SSL-authenticated and unauthenticated.  I haven't
 decided yet whether I should tunnel my stream in SSL,
 use a mime multipart response, or just use a really
 long and slow HTTP response to encode a stream back
 from the server.
 
 I've briefly looked at the Apache source and it seems
 that Apache does IO synchronously, and that a single
 thread serves an entire request to completion.  If
 this is correct, then each open SSL connection needs
 its own thread -- a perf disaster for my application.

Under Unix Apache doesn't use threads. It uses pre-forked processes. But
you're right: in each process Apache synchronously serves the entire request.
So if you have lots of long-running requests you need lots of pre-forked
Apache processes. But there are alternative HTTP servers which use (less
resource consuming) threading or even asynchronous I/O or at least multiplexed
I/O, of course. Just use some of these servers if you don't need special
Apache features. Whether these servers support SSL is a different questions...

   Ralf S. Engelschall
   [EMAIL PROTECTED]
   www.engelschall.com
__
Apache Interface to OpenSSL (mod_ssl)   www.modssl.org
User Support Mailing List  [EMAIL PROTECTED]
Automated List Manager[EMAIL PROTECTED]