[ 
https://issues.apache.org/jira/browse/THRIFT-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vijay updated THRIFT-1167:
--------------------------

    Attachment: TSHSHAServer-Patch-MultiThreaded_v3.patch

Hi Steve and Bryan,

I think OS does a good job in load balancing and do we really need to implement 
our own LB?
I implemented something similar for cassandra... Plz see the below result...

I can modify the existing codebase and provide a more integrated patch if you 
think this approach makes sense.

// total writes into cassandra (*2 will provide you the approx number of read 
and write into the socket).
lgmacd-vparth:Cass vparthasarathy$ grep "insert writing" 
/var/log/cassandra/system.log |wc -l
    1103

// total
lgmacd-vparth:Cass vparthasarathy$ grep "eciving packets"  
/var/log/cassandra/system.log|wc -l
    2221

// split per thread.
lgmacd-vparth:Cass vparthasarathy$ grep "eciving packets"  
/var/log/cassandra/system.log|awk '{print $2}'|sort |uniq -c
 137 [Selector-Thread-0]
 139 [Selector-Thread-10]
 138 [Selector-Thread-11]
 139 [Selector-Thread-12]
 139 [Selector-Thread-13]
 139 [Selector-Thread-14]
 139 [Selector-Thread-15]
 139 [Selector-Thread-1]
 139 [Selector-Thread-2]
 139 [Selector-Thread-3]
 139 [Selector-Thread-4]
 139 [Selector-Thread-5]
 139 [Selector-Thread-6]
 139 [Selector-Thread-7]
 139 [Selector-Thread-8]
 139 [Selector-Thread-9]


> Java nonblocking server with more than one thread for select and handling IO
> ----------------------------------------------------------------------------
>
>                 Key: THRIFT-1167
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1167
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Java - Library
>            Reporter: Steve Jiang
>            Assignee: Bryan Duxbury
>         Attachments: TSHSHAServer-Patch-MultiThreaded_v3.patch, 
> threadedselectorthrift3.diff
>
>
> I've used the HsHa server model to write a server that uses a thread for 
> accept and a separate, configurable number of Selector threads to handle IO.  
> I'd like to contribute this back to Thrift.
> For apps that are RPC-heavy and require little computation from the executor 
> pool running on multi-core architectures, this server allows gets throughput 
> as IO is not limited by one CPU.
> Please take a look at the attached patch.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to