[
https://issues.apache.org/jira/browse/THRIFT-3289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Diogo Costa updated THRIFT-3289:
--------------------------------
Description:
I'm currently running local load tests between my (local) thrift client and
local thrift server.
The test consists of a webpage that makes an RPC call to the thrift server
using a thrift client and returns the information to the browser. With JMeter
I'm seeing the performance of both processes under load.
At some point in the load I get a System.Net.Sockets.SocketException when
creating a new client with the message "An operation on a socket could not be
performed because the system lacked sufficient buffer space or because a queue
was full...".
I'm using a TServerSocket and a TThreadPoolServer on the server and a new
instance of TSocket per client request. All instances seem to be disposed
properly.
The TSocket doesn't seem to be threadsafe. Am I supposed to create a TSocket
connection pool in the client so I don't overwhelm the server with creating and
destroying network sockets?
Shouldn't there be some connection pooling available in the server
implementation?
was:
I'm currently running local load tests on my thrift client (connected to my
local thrift server) and during the load test eventually get a
System.Net.Sockets.SocketException in the client with the message "An operation
on a socket could not be performed because the system lacked sufficient buffer
space or because a queue was full...".
I'm using a TServerSocket and a TThreadPoolServer on the server and a TSocket
per client request.
The TSocket doesn't seem to be threadsafe. Am I supposed to create a TSocket
connection pool in the client so I don't overwhelm the server with creating and
destroying network sockets?
Shouldn't there be some connection pooling available in the server
implementation?
> TCP
> ---
>
> Key: THRIFT-3289
> URL: https://issues.apache.org/jira/browse/THRIFT-3289
> Project: Thrift
> Issue Type: Bug
> Components: C# - Library
> Affects Versions: 0.9.1
> Reporter: Diogo Costa
> Priority: Critical
>
> I'm currently running local load tests between my (local) thrift client and
> local thrift server.
> The test consists of a webpage that makes an RPC call to the thrift server
> using a thrift client and returns the information to the browser. With JMeter
> I'm seeing the performance of both processes under load.
> At some point in the load I get a System.Net.Sockets.SocketException when
> creating a new client with the message "An operation on a socket could not be
> performed because the system lacked sufficient buffer space or because a
> queue was full...".
> I'm using a TServerSocket and a TThreadPoolServer on the server and a new
> instance of TSocket per client request. All instances seem to be disposed
> properly.
> The TSocket doesn't seem to be threadsafe. Am I supposed to create a TSocket
> connection pool in the client so I don't overwhelm the server with creating
> and destroying network sockets?
> Shouldn't there be some connection pooling available in the server
> implementation?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)