You're right, it doesn't set nodelay. Alexey's analysis was that "If
TFramedTransport used just one write() call per frame, there is no
need for setNoTcpDelay."

I don't know if he was right or not but it was a deliberate choice and
not an oversight.

On Mon, Feb 7, 2011 at 3:08 PM, Chris Morgan <[email protected]> wrote:
> Hi Bryan.
>
> Actually haven't heard this before. Just started using thrift a few
> days ago. I'll gladly try that for additional performance.
>
> I'd also like to resolve the issue for future users that may consider
> using thrift with mono and abandon the idea when they get 30 messages
> /sec.
>
> Shouldn't the c# TServerSocket work like the cpp and java ones do in
> terms of disabling nagle?
>
> Chris
>
>
>
> On Mon, Feb 7, 2011 at 4:05 PM, Bryan Duxbury <[email protected]> wrote:
>> You're probably tired of hearing this already, but please, please use
>> buffered or framed transport. It will make your servers and clients
>> noticeably faster in a lot of cases.
>>
>> On Mon, Feb 7, 2011 at 12:48 PM, Chris Morgan <[email protected]> wrote:
>>
>>> Hi Jonathan.
>>>
>>> If it were committed wouldn't it be present in svn trunk? I'm using
>>> svn trunk because I was hoping it had been fixed since the last
>>> release.
>>>
>>> I looked at the commit, c1063966, and I don't see any mention of
>>> disabling nodelay and the changes are modifying
>>> src/Transport/TFramedTransport.cs
>>>
>>> My server code looks like:
>>>
>>>                var ourProcessor = new OurProcessor();
>>>                var processor = new TheProcessor.Processor(ourProcessor);
>>>                TServerTransport serverTransport = new TServerSocket(9090);
>>>                TServer server = new TSimpleServer(processor,
>>> serverTransport);
>>>
>>> So I'm not sure how the changes made to TFramedTransport would be
>>> affecting TServerSocket since they don't seem connected.
>>>
>>> Chris
>>>
>>>
>>> On Mon, Feb 7, 2011 at 3:36 PM, Jonathan Ellis <[email protected]> wrote:
>>> > Read the ticket you got the patch from -- it's been committed for the
>>> > next release.
>>> >
>>> > On Mon, Feb 7, 2011 at 2:32 PM, Chris Morgan <[email protected]> wrote:
>>> >> On Mon, Feb 7, 2011 at 3:30 PM, Chris Morgan <[email protected]>
>>> wrote:
>>> >>> I just tested it out and setting NoDelay on the socket brought the
>>> >>> rate up from 30msg/sec up to ~12k msg/sec which is fine for me for
>>> >>> now.
>>> >>>
>>> >>> What now? It looks like the guy that fixed the issue reported by
>>> >>> Jonathan says the solution is to used a frame transport? It still
>>> >>> looks like this is an issue with whatever the default transport is,
>>> >>> TServerSocket I guess?
>>> >>>
>>> >>> Chris
>>> >>>
>>> >>
>>> >> In addition the cpp TSocket.cpp sets TCP_NODELAY. Why shouldn't c# do
>>> >> what cpp and java do?
>>> >>
>>> >> Chris
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Jonathan Ellis
>>> > Project Chair, Apache Cassandra
>>> > co-founder of DataStax, the source for professional Cassandra support
>>> > http://www.datastax.com
>>> >
>>>
>>
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Reply via email to