I found this has helped me. I copy here a snipet written by Andy Bakun. (abakun@reac.com). I shows how you can set TCP_NODELAY without disabeling the NAGEL option. ======================================================== The Nagle algorithm option forces use of the TCP_NODELAY option on all network connections, which is generally NOT what you want, since it can effect the network transfer rate of other high bandwidth protocols (which is why I believe it is commented out now in the linux kernel source). At my site, I wrote the following program and used it as a wrapper in inetd.conf (see below for that part) set_TCP_NODELAY.c: ---------------------------------- #include #include #include #include #include #include void main(int argc, char *argv[]) { int value = 1; setsockopt(0, IPPROTO_TCP, TCP_NODELAY, (char *)&value,sizeof(int)); setsockopt(1, IPPROTO_TCP, TCP_NODELAY, (char *)&value,sizeof(int)); setsockopt(2, IPPROTO_TCP, TCP_NODELAY, (char *)&value,sizeof(int)); execl(argv[1], NULL); } ---------------------------------- Compile with: $ gcc set_TCP_NODELAY.c -o set_TCP_NODELAY Copy the set_TCP_NODELAY executable to some well known location (I used /usr/local/bin). Edit your inetd.conf file, find the gds_db line. Change the sixth through the last fields to read the following: /usr/local/bin/set_TCP_NODELAY gds_inet_server /usr/interbase/bin/gds_inet_server You essentially want to have inetd startup the set_TCP_NODELAY program, and give it options to start up gds_inet_server. You probably had something like the following for the sixth through last fields: /usr/interbase/bin/gds_inet_server gds_inet_server Note the order change. Those who want a full explaination of the argument order should consult the man page for inetd(8). What this little program does is set it's stdin, stdout, and stderr streams to not use the Nagle algorithm, then execs the Interbase gds_inet_server program. Note that this is EXACTLY the same effect as compiling your kernel with No Nagle enabled, but it only effects the programs you use it on (for our purposes, gds_inet_server, but set_TCP_NODELAY can be used in general with programs started from inetd that need it). I hope you Interbase programmer guys include setting the TCP_NODELAY socket option in a future release of gds_inet_server, if it isn't in the plan already. :) Andy Bakun. abakun@reac.com