It's not an intrinsic property of HTTP... more that some of the HTTP
libraries the clients are built on can have awkward semantics for using
connections efficiently. Sounds like you've already addressed this,
which is great. Mochiweb + HTTP parsing + mime-multipart will introduce
some time/space overhead compared to tagged values in protobufs, but it
may be negligible. Try it and see!
--Kyle
On 10/04/2011 09:09 PM, Greg Stein wrote:
I don't see that multiplexing or TCP setup is specific to HTTP.
The only difference between protobuf and HTTP is what goes on the wire.
Not how the wire is managed.
(and with that said, the Python client managed the wire in the most
horrible ways imaginable for the HTTP Client; I've since fixed that on
my branch)
On Oct 4, 2011 11:37 PM, "Aphyr" <ap...@aphyr.com
<mailto:ap...@aphyr.com>> wrote:
> Internode times in our datacenter at SL are indistinguishible from
> loopback; TCP/IP processing dominates. HTTP, on the other hand, involves
> either in-depth connection management/multiplexing, or TCP/IP
> setup/teardown latency at either end of a request. In read-write heavy
> apps, protobufs outperforms HTTP in throughput by 2x or more, against
> objects of 500-4000 bytes. That's with the ruby client; ymmv.
>
> --Kyle
>
> On 10/04/2011 07:18 PM, Greg Stein wrote:
>>
>> On Oct 4, 2011 7:01 PM, "Mike Oxford" <moxf...@gmail.com
<mailto:moxf...@gmail.com>
>> <mailto:moxf...@gmail.com <mailto:moxf...@gmail.com>>> wrote:
>> >
>> > You'll want to run protobufs if you're looking to optimize your
>> > response time; HTTP sockets (even to localhost) will require much more
>> > overhead and time.
>>
>> Hmm? The protocol seems moot, compared to inter-node comms when r > 1
>> Protocol parsing just doesn't seem like much of a factor. On my laptop,
>> I was seeing a 3ms response time against one node. I can't imagine that
>> parsing was more than a few percent, no matter the protocol.
>>
>> (and no, I have no specific numbers to confirm/deny my thought
>> experiment here)
>>
>> > Even better would be unix sockets if they're available, and you can
>> > bypass the whole TCP stack.
>>
>> What? Is that even an option for Riak? I haven't seen anything about
that.
>>
>> >...
>>
>> Cheers,
>> -g
>>
>>
>>
>> _______________________________________________
>> riak-users mailing list
>> riak-users@lists.basho.com <mailto:riak-users@lists.basho.com>
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com