[
https://issues.apache.org/jira/browse/THRIFT-5904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmytro Shteflyuk updated THRIFT-5904:
-------------------------------------
Description:
Enable {{TCP_NODELAY}} flag on the accepted socket in the {{ServerSocket}}
transport in Ruby.
The change brings Ruby server transport to the same level as servers in other
languages, for example
[C++|https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TServerSocket.cpp#L364-L371].
Benchmark show significant improvement on RPC flows when server is used with
TLS, as the server tend to sleep a lot of 40ms intervals during TLS handshake
and then RPC payload transfer.
was:
Enable {{{{{}TCP_NODELAY}}{}}} flag on the accepted socket in the
{{{}{{ServerSocket{}}}}} transport in Ruby.
The change brings Ruby server transport to the same level as servers in other
languages, for example
[C++|https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TServerSocket.cpp#L364-L371].
Benchmark show significant improvement on RPC flows when server is used with
TLS, as the server tend to sleep a lot of 40ms intervals during TLS handshake
and then RPC payload transfer.
> Set TCP_NODELAY on accepted sockets for Ruby library
> ----------------------------------------------------
>
> Key: THRIFT-5904
> URL: https://issues.apache.org/jira/browse/THRIFT-5904
> Project: Thrift
> Issue Type: Improvement
> Components: Ruby - Library
> Reporter: Dmytro Shteflyuk
> Priority: Major
>
> Enable {{TCP_NODELAY}} flag on the accepted socket in the {{ServerSocket}}
> transport in Ruby.
> The change brings Ruby server transport to the same level as servers in other
> languages, for example
> [C++|https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TServerSocket.cpp#L364-L371].
> Benchmark show significant improvement on RPC flows when server is used with
> TLS, as the server tend to sleep a lot of 40ms intervals during TLS handshake
> and then RPC payload transfer.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)