Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.21.0
-
None
-
None
Description
In many client cocurrent access, single thread Listener will become bottleneck. Many client can't be served, and get connection time out.
To improve Listener capacity, we make 2 modification.
1. Tuning ipc.server.listen.queue.size to a larger value to avoid client retry.
2. In currently implement, Listener will call registerChannel(), and finishAdd() in Reader, which will request Reader synchronized lock. Listener will cost too many time in waiting for this lock.
We have made test,
./bin/hadoop org.apache.hadoop.hdfs.NNThroughputBenchmark -op create -threads 10000 -files 10000
case 1 : Currently
can not pass. and report
hadoop-rd101.jx.baidu.com/10.65.25.166:59310. Already tried 0 time(s).
case 2 : tuning back log to 10240
average cost : 1285.72 ms
case 3 : tuning back log to 10240 , and improve lock mechanism in patch
average cost : 941.32 ms
performance in average cost will improve 26%