Re: CAtlHttpClient Navigate()



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.




.



Relevant Pages

  • Re: 2.6.22-rc1-mm1 cifs_mount oops
    ... file requests time to exit from the cifs vfs). ... in various socket calls). ... sfrench at-sign us dot ibm dot com ...
    (Linux-Kernel)
  • Re: Track the users on line?
    ... opens a socket to the webserver ... closes the socket. ... not to keep socket open between requests. ... If he try again to log from a new browser, the check for the flag doesn't ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: TCP - Outstanding Begin Receives
    ... about the outstanding requests holding on to my state object, ... OS holds for these requests? ... wait for the other socket to respond in a similar fashion before I shutdown ... I think 99% of the time the client socket will be closed, ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: [take33 10/10] kevent: Kevent based AIO (aio_sendfile()/aio_sendfile_path()).
    ... aio_sendfilev to be able to send a header with the data? ... or aio write requests comes in for the same socket. ... More majordomo info at http://vger.kernel.org/majordomo-info.html ...
    (Linux-Kernel)
  • Re: TCP connection hang problem (resumes upon new TCP request)
    ... The client sends about 1.2 million requests through a TCP connection to server and server reads it. ... to the socket and the central guy stops reading from the socket. ... xx.xx.xx.xx 80) to the central distributor machine from another desktop ...
    (comp.os.linux.development.system)