etcd/rafthttp
Xiang Li e4f22cd6d8 rafthtt: smart batching
Improved the overall performance more than 20% under heavyload
with little latency impact

heavy load
```
Requests/sec: ~23200  vs  Requests/sec: ~31500

Latency distribution:
  10% in 0.0883 secs.
  25% in 0.1022 secs.
  50% in 0.1207 secs.
  75% in 0.1460 secs.
  90% in 0.1647 secs.
  95% in 0.1783 secs.
  99% in 0.2223 secs.

vs

Latency distribution:
  10% in 0.1119 secs.
  25% in 0.1272 secs.
  50% in 0.1469 secs.
  75% in 0.1626 secs.
  90% in 0.1765 secs.
  95% in 0.1863 secs.
  99% in 0.2276 secs.
```

Similar on light load too.
2016-02-17 13:17:12 -08:00
..
coder.go rafthttp: add copyright header 2015-02-28 11:35:16 -08:00
doc.go *: add missing package descriptions 2015-11-17 20:54:10 -08:00
fake_roundtripper_go14_test.go rafthttp: always cancel in-flight request when pipeline.send 2015-08-25 09:07:49 -07:00
fake_roundtripper_test.go rafthttp: always cancel in-flight request when pipeline.send 2015-08-25 09:07:49 -07:00
functional_test.go rafthttp: msgApp{Reader/Writer} -> msgAppV2{Reader/Writer} 2015-10-20 08:28:06 -07:00
http.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
http_test.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
metrics.go raft: use HistogramVec for message_sent_latency 2015-11-10 10:05:32 -08:00
msg_codec.go rafthttp: rename message.go -> message_codec.go 2015-10-18 09:49:11 -07:00
msg_codec_test.go rafthttp: rename message.go -> message_codec.go 2015-10-18 09:49:11 -07:00
msgappv2_codec.go *: fix minor typos 2016-01-14 01:28:29 -08:00
msgappv2_codec_test.go rafthttp: rename message.go -> message_codec.go 2015-10-18 09:49:11 -07:00
peer.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
peer_status.go rafthttp: remove failureMap from peerStatus 2015-11-04 07:26:33 -08:00
peer_test.go rafthttp: msgApp{Reader/Writer} -> msgAppV2{Reader/Writer} 2015-10-20 08:28:06 -07:00
pipeline.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
pipeline_test.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
probing_status.go rafthttp: monitor connection 2015-08-04 17:39:40 +08:00
remote.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
snapshot_sender.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
stream.go rafthtt: smart batching 2016-02-17 13:17:12 -08:00
stream_test.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
transport.go rafthttp: add necessary locking 2016-02-16 19:18:05 -08:00
transport_bench_test.go rafthttp: build transport inside pkg instead of passed-in 2015-10-11 21:42:37 -07:00
transport_test.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
urlpick.go rafthttp: move mu to the top in urlPicker struct 2015-06-01 16:40:18 -07:00
urlpick_test.go *: fix many typos 2016-01-31 21:42:39 -08:00
util.go rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
util_test.go rafthttp: version enforcement on rafthttp messages 2015-06-02 13:33:18 -07:00