Hi all,

After apply the patch from HADOOP-6713 into our hadoop source tree,  I
did a benchmark on multi-readers RPC, and didn't found any  throughput
improvement .
The attachment of this mail is a patch of my rpc benmark. Test
scenario listed below.

Network: Gigabit LAN
CPU: 8 core Intel(R) Xeon(R) CPU           E5420  @ 2.50GHz
Memory: 8GB

================== scenario 1 =======================
server side:
# export HADOOP_OPS="-Xmx4096m -Xms256m"
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -server
-handlers 1 -readers 10 -durationPerRPC 100

client side:
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -client
-host hdp38 -p 38668 -req 100 -threads 10 -size 8 -arraySize 200000
10/12/17 12:25:07 INFO ipc.RPCBenchmark: Starting 100 rpc call(s).
10/12/17 12:26:02 INFO ipc.RPCBenchmark: # operations: 100
10/12/17 12:26:02 INFO ipc.RPCBenchmark: Elapsed Time: 55073 ms
10/12/17 12:26:02 INFO ipc.RPCBenchmark:  Ops per sec: 1.815771793800955
10/12/17 12:26:02 INFO ipc.RPCBenchmark: Average Time: 5249 ms

================== scenario 2 =======================
server side:
# export HADOOP_OPS="-Xmx4096m -Xms256m"
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -server
-handlers 10 -readers 10 -durationPerRPC 100

client side:
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -client
-host hdp38 -p 38668 -req 100 -threads 10 -size 8 -arraySize 200000
10/12/17 12:28:23 INFO ipc.RPCBenchmark: Starting 100 rpc call(s).
10/12/17 12:29:11 INFO ipc.RPCBenchmark: # operations: 100
10/12/17 12:29:11 INFO ipc.RPCBenchmark: Elapsed Time: 47784 ms
10/12/17 12:29:11 INFO ipc.RPCBenchmark:  Ops per sec: 2.092750711535242
10/12/17 12:29:11 INFO ipc.RPCBenchmark: Average Time: 4581 ms

================== scenario 3 =======================
server side:
# export HADOOP_OPS="-Xmx4096m -Xms256m"
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -server
-handlers 10 -readers 1 -durationPerRPC 100

client side:
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -client
-host hdp38 -p 38668 -req 100 -threads 10 -size 8 -arraySize 200000
10/12/17 12:31:19 INFO ipc.RPCBenchmark: Starting 100 rpc call(s).
10/12/17 12:32:08 INFO ipc.RPCBenchmark: # operations: 100
10/12/17 12:32:08 INFO ipc.RPCBenchmark: Elapsed Time: 49155 ms
10/12/17 12:32:08 INFO ipc.RPCBenchmark:  Ops per sec: 2.034381039568711
10/12/17 12:32:08 INFO ipc.RPCBenchmark: Average Time: 4722 ms

================== scenario 4 =======================
server side:
# export HADOOP_OPS="-Xmx4096m -Xms256m
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -server
-handlers 1 -readers 1 -durationPerRPC 100

client side:
# hadoop/bin/hadoop jar hadoop/hadoop-0.19.1-test.jar rpcbench -client
-host hdp38 -p 38668 -req 100 -threads 10 -size 8 -arraySize 200000
10/12/17 12:36:04 INFO ipc.RPCBenchmark: Starting 100 rpc call(s).
10/12/17 12:36:59 INFO ipc.RPCBenchmark: # operations: 100
10/12/17 12:36:59 INFO ipc.RPCBenchmark: Elapsed Time: 55054 ms
10/12/17 12:36:59 INFO ipc.RPCBenchmark:  Ops per sec: 1.816398445162931
10/12/17 12:36:59 INFO ipc.RPCBenchmark: Average Time: 5278 ms

Statistics above indicates that a single reader can consume 200,000
8-bytes Strings very fast.  Ten concurrent readers should consume the
same data more quickly, but reader isn't the bottleneck of RPC at
least in these scenarios. Can you give an example which scenario
HADOOP-6713 will take affect?

Thanks,
Min
-- 
My research interests are distributed systems, parallel computing and
bytecode based virtual machine.

My profile:
http://www.linkedin.com/in/coderplay
My blog:
http://coderplay.javaeye.com

Reply via email to