concurrent connections

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello, I am using ASP.NET as a streaming engine for mp3 and ogg files over HTTP. Basically, the asp.net page sets it's mime content type to audio/mp3 and i write out the file to the stream. We will be having anywhere from 50 to 300 users streaming at once (as well as standard asp.net web pages served). We will be using IIS6, and was wondering if we needed to increase the number of worker threads in machine.config to handle this, or if it is ready to go as is? Or will creating a web garden help? Or any thoughts in general how IIS6 will react to this
Thanks
-Stephen
 
Chances are you'll be using all the threads in the thread pool but
have very little CPU activity. You could increase the number of
threads in the thread pool by modifying machine.config, but this would
be one of those situations where you might benefit from managing your
own threads and implementing an asynchronous HTTP handler
(IHttpAsyncHandler). Fritz Onion has written a very good article
explaining how to do this in detail:
http://msdn.microsoft.com/msdnmag/issues/03/06/Threading/default.aspx

HTH,
 
I've read everything that has been recommended and I spent a majority of the date using the stress test tool that comes with VS.net 2003. In one page i tested, i had a thread.sleep in there for anywhere from 2-60 seconds to simulate an open connection where it would be streaming a file to the client. Then i actually tried running it against my code that writes the media file to the response stream. The later got very good performance results (running locally). I have concerns about this asp.net counter "\\ALIEN-1\ASP.NET Applications\Pipeline Instance Count\__Total__" because it shows up after the test is run as 10. Which would mean only 10 concurrent connections from what I read, which is bad bad bad, since I need to keep hundreds of connections open as they stream files to users. (I also tried changing my maxWorkerThreads from 20 to 100,300,500 to test performance. The results where flaky, so I haven't detailed it much here

Should I be concerned about that counter I mentioned, and will that indicate I will not be able to keep hundreds of connections open? I'm feeling a little frustrated that I can't figure this out, but I'm just not able to know for sure with my tests. I really just need to know how I can make sure my configuration is correct to handle all these connections being open for minutes at a time as they stream. Thanks for the help
-Stephen
 
Thank you very much Steven. I appreciate your help as this will go into production this summer and my testing as not proved to me the best way.

-Stephen
 
Hi Stephen,

Sorry for keeping you wait for so long time. I've just got some suggestions
from some other solutoin integrated engineers. Here are their original
messsage:

=======================================================================

I would have him run ACT on two remote machines to stress his web
application. Running it locally could impact the number of actual requests
per second. Also increasing the maxWorkerThreads count will introduce more
context switching which could have a negative impact on performance. Have
him run the same test with 20, 25, 50, 75 threads and see which number
gives him the best performance. For an idea of how many IIS connections he
is seeing have him check the Web Service object¡¯s Current Connections
counter. Also monitor the aspnet requests queued, request execution time,
and requests rejected. Other good counters would be the w3wp.exe processor
time, private bytes and virtual bytes.

========================================================================

Hope helps. Good Luck!

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Get Preview at ASP.NET whidbey
http://msdn.microsoft.com/asp.net/whidbey/default.aspx
 
Back
Top