troubleshooting Question

TCP/IP operations consume lots of CPU.

Avatar of omers
omers asked on
Programming
27 Comments1 Solution1044 ViewsLast Modified:
Dear fellows.

The client in our application is a client that reads lots of data (images, each ~200k) over a 1GBit line from the server.

The client's bottleneck is its CPU. It's a Dell 670 dual processor (xeon) at 3.4GHz running Windows2K.
I found out that the tcp recv() command takes a lot of cpu. When all the machine does is recv() commands and buffer allocations, it reads at ~60MByte/sec. This seems a bit slow to me, also by rules of thumb-measures of TCP/IP CPU consumption this seems ~3 times slower than expected.

I tried rewriting the recv command - to use ACE, to call WSARecv, and to use Overlapped I/O, it all seems to matter very little.

We are working in blocking mode, and TCPNODelay is set to true (Nagle algorithm disabled). RCVBUF is 128K, changing it didn't matter very much. The server is either a unix or a windows machine.

My question is - What else can I do to try and reduce TCP/IP CPU consumption ?

Thanx very much in advance, Omer Shibolet.



Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 1 Answer and 27 Comments.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 27 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros