Re: CAtlHttpClient Navigate()
- From: Jaya <Jaya@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 7 Jan 2008 20:46:00 -0800
We figured out the issue. We had to set the MaxUserPort and
TCPWaitedTimeDelay registry setting parameter to control the number of
socket. Since we weren't setting these the system was using the default value
of 4000 sockets and that was the point when we started seeing the Socket
errors.
Thanks and Sorry for the bother.
jaya
"Brian Muth" wrote:
You seem to be under the impression it is trivial to create 4000 threads without causing problems in your test program. Remember.
every thread is assigned its own stack (default 1MB). Since every Win32 process has a 2GB virtual address space, you are going to
run into serious problems once you exceed 2000 threads (memory thrashing).
I suggest that the problem isn't in CAtlHttpClient, but more likely in the way your test harness is designed.
Brian
"Jaya" <Jaya@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:7E8A3D00-17D8-43E7-8A19-5E80436388F6@xxxxxxxxxxxxxxxx
4000 simultaneous requests (threads). We don't see any unsual spikes with
memory or CPU. After about 4000 requests we start getting a "WSAEADDRINUSE"
error code back.
the CAtlHttpClient::Navigate() is being called from within an ISAPI filter
and is making a remote HTTP request to a tomcat servlet. We verigfied we were
successfully able to make > 10000 simulateneous requests to the tomcat
service if we hit it directly.
do we need to call CAtlHttpClient::Close() explicitly?
If I need to provide more information, please let me know.
"Brian Muth" wrote:
4000 requests one at a time or 4000 requests at once? How are you setting up your test harness? Do you create 4000 threads, or
launch 4000 processes? If serially, are you watching for memory or resource leaks?
There is a lot of missing information in your post.
Brian
"Jaya" <Jaya@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:12C40501-67F6-4E8F-95E3-D9E03BC780A7@xxxxxxxxxxxxxxxx
Hi
We are using VC8 and the CAtlHttpClient to make HTTP requests to a remote
server. We were observing in our load test environment that after about 4000
requests CAtlHttpClient::Navigate() starts failing and none of the requests
after that are successful.
I was wondering if CAtlHttpClient has a limit on the number of socket
connections ?
We have verified the tomcat service on the remote server is not erroring out
and can handle over 100,000 requests easily when they are not originating
from CAtlHttpClient.
- References:
- Re: CAtlHttpClient Navigate()
- From: Brian Muth
- Re: CAtlHttpClient Navigate()
- From: Brian Muth
- Re: CAtlHttpClient Navigate()
- Prev by Date: Re: CAtlHttpClient Navigate()
- Next by Date: determining when a ActiveX control is being used by a designer
- Previous by thread: Re: CAtlHttpClient Navigate()
- Next by thread: ATL Drawing issue
- Index(es):
Relevant Pages
|