views:

32

answers:

1

I'm developing an application where, to satisfy the performance requirements, tuning of low-level network stuff (such as TCP window size etc) seems to be required.

I found the magnitude of my knowledge to be a bit better than "there's TCP and there's UDP", which is far from enough for this task.

What resources might I study to get a better knowledge of which aspects of TCP influence which performance characteristics in which usage scenarios (for example, how to decrease latency while transmitting 100kb packets to 1000 clients simultaneously on a 10gbit LAN), etc.?

What tools might help me? (I already know about Wireshark, but most probably I am not using it to its full potential)

+1  A: 

First understand what you're doing:

Then understand how to look at what you're about to change:

Then understand how to change things:

Since you're currently on a windows platform and you mention that you're "developing an application"... You probably also want to know about I/O Completion Ports and how you maximise data flow whilst conserving server resources using write completion driven flow control. I've written about these quite a bit and the last link is a link to my free high performance C++ client/server framework which may give you some pointers as to how to use IOCP efficiently.

And google is your friend...

Len Holgate