Hi Flavio, asynchronous calls doesn't perform better, here is some results we've got,
§ 1 client server,1 process per client server,connect 1 zookeeper server,all reads:cpu:14%~15%,qps:3833,latency:0.000261 § 1 client server,1 process per client server,connect all 3 zookeeper server,all reads:cpu:14%~15%,qps:3832,latency:0.000261 § 1 client server,10 process per client server,connect all 3 zookeeper server,all reads,cpu:13%~20%,qps:14000->12000,latency:0.000469 *§ 1 client server,30 process per client server,connect all 3 zookeeper server,all reads,cpu:15%~20%,qps:14000->10000,,latency: § 2 client server,30 process per client server,connect all 3 zookeeper server,all reads,cpu:15%~20%,qps:about 11000,latency:* It seems that the asynchronous calls perform even worse than the synchronous calls. On Wed, Mar 9, 2011 at 12:29 AM, Flavio Junqueira <[email protected]> wrote: > Hi Qian, If I understand your description correctly, you are using > synchronous calls. To get high throughput values, you need multiple > outstanding requests, so you will need to use asynchronous calls. > > -Flavio > > On Mar 8, 2011, at 5:16 PM, Qian Ye wrote: > > P.S. 1 we use zookeeper 3.3.2 > P.S. 2 all our testing process get data from the same znode. The size of > data on the znode is less than 1K. > > On Wed, Mar 9, 2011 at 12:08 AM, Qian Ye <[email protected]> wrote: > > Hi all: > > > These days my friend and I did some performance tests on zookeeper. We > > found the performance of zookeeper is not as good as it is described in the > > Zookeeper Overview ( > > http://hadoop.apache.org/zookeeper/docs/r3.3.2/zookeeperOver.html) . In > > the Zookeeper Overview, the "ZooKeeper Throughput as the Read-Write Ratio > > Varies" shows that in a ensemble of 3 Zookeeper server, the throughput can > > reach about 80000, if the requests are all reads. However, we cannot get > > results like that in our performance test with the synchronized interface, > > zkpython. > > > Here is some of our test results: > > (3 zookeeper ensemble, 8 core CPU, 2.4GHZ, 16 RAM, Linux 2.6.9) > > > § 1 client server,1 process per client server,connect 1 zookeeper > > server,all reads:cpu:8%~9%,qps:2208,latency:0.000453s > > § 1 client server,1 process per client server,connect all 3 zookeeper > > server,all reads:cpu:8%~9%,qps:2376.241573 ,latency:0.000421s > > § 1 client server,1 process per client server,connect all 3 zookeeper > > server,all reads,cpu:10%~20%,qps:15600,latency:0.000764s > > *§ 1 client server,30 process per client server,connect all 3 zookeeper > > server,all reads,cpu:10%~20%,qps:15200,latency:* > > *§ 2 client server,30 process **per client server**,connect all 3 > > zookeeper server,all reads,cpu:10%~20%,qps:15800,latency:0.003487* > > > qps means "query per second", that is throughput. The result shows that > > when adding more client server, the utilization rate of CPU don't increase, > > and the throughput don't increase much. It seems that the throughput won't > > reach 80000, even if we add 28 more client servers to reach the number you > > mentioned in the Zookeeper Overview. > > > Maybe I've done the tests wrong. Is there any particular thing I should pay > > attention to in this case? We set the max java heap size to 12GB in our > > test. > > > *Could you tell me the details about how you do the performance test, from > > which you get the results showed in the Zookeeper Overview?* > > > -- > > With Regards! > > > Ye, Qian > > > > > > -- > With Regards! > > Ye, Qian > > > *flavio* > *junqueira* > > research scientist > > [email protected] > direct +34 93-183-8828 > > avinguda diagonal 177, 8th floor, barcelona, 08018, es > phone (408) 349 3300 fax (408) 349 3301 > > > -- With Regards! Ye, Qian
