views:

39

answers:

1

Given a binary application running on linux PC. Is it possible to determine if it disables the Nagle's algorithm. One way could be to see the output in wireshark and depending on the time differences. Could you please tell me a reliable way of finding it out from the wireshark output?

Is there a more direct way? Can I trace the system call which sets the tcp_nodelay option?

The target application could be a web server, application server, database listener or any other server process.

+1  A: 

The most direct way would be to trace the setsockopt system call.

Looking from the outside you can only notice when it disables Nagle and behaves bad (sends lots of small fragments rapidly). If it disables Nagle and behaves well, you cannot notice from outside.

Peter G.
See the answer here http://stackoverflow.com/questions/1618051/see-socket-options-on-existing-sockets-created-by-other-apps for how you can effectivly trace setsockopt calls.
nos
I was wishing there was a simple way. probably I will play with strace and if that does not work out, I will try the option explained in the above post. thanks
iamrohitbanga