> > You saw "HBASE-2939 Allow Client-Side Connection Pooling"? Would that help?
Ok just read thru the issue. That's exactly what i thought upon reading the code in HBaseClient class. Although in my cluster it did not seem to have more than about 20% effect and it was more or less evaporated after 3 connections. (1 to 3 has noticeable jump but there was no much difference between 3 and 10. But then again i suspect my problem is network but not the threading -- although with a mix of longer and shorter messages it may become an apparent nuisance indeed). > > >> And tcp doesn't seem to perform very >> well for some reason in this scenario. >> > > What do you see here D? > > >> The next thing i did was to enable tcp_nodelay on both client and >> server. That got us down even more to 13ms average. >> > > Thats a big difference. > > >> However, it is still about two times slower if i run all processes at >> the same machine (i get around 6-7ms average TTLBs for the same type >> of scan). >> >> Ping time for about same packet size between hosts involved seems to >> revolve around 1ms. Where another 5ms average time are getting lost is >> still a mystery. But oh well i guess it is as good as it gets. >> In real life hbase applications traffic would be much more uniformly >> distributed among regions and this would be much less of an issue >> perhaps. >> >> I also suspect that using udp for short scans and gets might reduce >> latency a bit as well. >> > > Thank you Dmitriy for digging in. Good stuff. > St.Ack >