Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Use of flags (Z) NODELAY on GT.M

80 views
Skip to first unread message

Valeriu Gontia

unread,
Jun 8, 2013, 1:50:00 AM6/8/13
to

I have noticed that the use of the flag in NODELAY service xinetd,
get a huge gain in speed during multiple calls
(in the cycle) from the client application.

service mactivate
{
     flags = NODELAY
     disable = no
     type = UNLISTED
     port = 1959
     socket_type = stream
     wait = no
     user = root
     server = / usr/local/gtm60/zmactivate
}

For example (VB):

Private Sub Command3_Click ()
Dim Ret As String
For i = 1 To 1000
Ret = Ret & m.Xecute ("w $zv") & " "
Next i
MsgBox Ret
End Sub

I get a full response from the server in about 6 seconds

If this method with the native socket GT.M:

o tcpdev: (ZLISTEN = port_ ": TCP": NODELIMITER: ZNODELAY: ATTACH = "listener"): timeo: "SOCKET"

even faster - about 1.5 seconds!

How justified is this? This puts an extra burden on the system or not?

Thank you.

Sam Habiel

unread,
Jun 18, 2013, 11:27:08 AM6/18/13
to
This disables the Nagle Algorithm on the TCP level. Look that up. In general, you should not disable it unless you are sure that is what you want to do. A better solution is to rewrite your sends so that they are not flushed until the end.

Sam
0 new messages