ningyougang commented on pull request #5046:
URL: https://github.com/apache/openwhisk/pull/5046#issuecomment-768798431


   Have any comment?
   
   I benchmarked against the `wurstmeister/kafka:2.13-2.7.0 `, worked well. 
result as below
   ### Env
   Env:  3 PM nodes(128G memory; 40 core cpu;)
   kafka version: `wurstmeister/kafka:2.13-2.7.0 `
   
   ### Benchmark test
   I run producer and consumer side's script at the same time in kafka0 
container.
   * Producer side
   ```
   # send 50,000,000 records
   /opt/kafka_2.13-2.7.0/bin/kafka-producer-perf-test.sh --topic scheduler0 
--num-records 50000000  --record-size 100  --throughput -1 --producer-props 
acks=0 
bootstrap.servers=10.105.65.214:9093,10.105.65.215:9094,10.105.65.216:9095
   4077415 records sent, 815483.0 records/sec (77.77 MB/sec), 0.5 ms avg 
latency, 407.0 ms max latency.
   4763549 records sent, 952709.8 records/sec (90.86 MB/sec), 0.3 ms avg 
latency, 15.0 ms max latency.
   4392536 records sent, 878507.2 records/sec (83.78 MB/sec), 0.3 ms avg 
latency, 17.0 ms max latency.
   4739980 records sent, 947996.0 records/sec (90.41 MB/sec), 0.3 ms avg 
latency, 14.0 ms max latency.
   4678736 records sent, 935747.2 records/sec (89.24 MB/sec), 0.3 ms avg 
latency, 10.0 ms max latency.
   4289005 records sent, 857801.0 records/sec (81.81 MB/sec), 0.4 ms avg 
latency, 6.0 ms max latency.
   4657720 records sent, 931544.0 records/sec (88.84 MB/sec), 0.3 ms avg 
latency, 13.0 ms max latency.
   4393393 records sent, 878678.6 records/sec (83.80 MB/sec), 0.3 ms avg 
latency, 11.0 ms max latency.
   4286190 records sent, 857238.0 records/sec (81.75 MB/sec), 0.3 ms avg 
latency, 5.0 ms max latency.
   4440910 records sent, 888182.0 records/sec (84.70 MB/sec), 0.3 ms avg 
latency, 11.0 ms max latency.
   4519094 records sent, 903818.8 records/sec (86.19 MB/sec), 0.3 ms avg 
latency, 13.0 ms max latency.
   50000000 records sent, 897311.654284 records/sec (85.57 MB/sec), 0.32 ms avg 
latency, 407.00 ms max latency, 0 ms 50th, 1 ms 95th, 2 ms 99th, 10 ms 99.9th.
   ```
   I configured ` --throughput -1` to disable throttling, we can see, the tps 
is about `897,311`
   * Consumer side
   ```
   # Fetch 5,000,000  record (running for about 3 seconds)
   /opt/kafka_2.13-2.7.0/bin/kafka-consumer-perf-test.sh  --topic scheduler0 
--messages 5000000 
--bootstrap-server=xxx.xxx.xxx.xxx:9093,xxx.xxx.xxx.xxx:9094,xxx.xxx.xxx.xxx:9095
   start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, 
nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
   2021-01-28 11:46:58:466, 2021-01-28 11:47:01:299, 476.8650, 168.3251, 
5000292, 1765016.5902, 1611802018934, -1611802016101, -0.0000, -0.0031
   
   # Fetch 10,000,000   records  (running for about 5 seconds)
   /opt/kafka_2.13-2.7.0/bin/kafka-consumer-perf-test.sh  --topic scheduler0 
--messages 10000000 
--bootstrap-server=xxx.xxx.xxx.xxx:9093,xxx.xxx.xxx.xxx:9094,xxx.xxx.xxx.xxx:9095
   start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, 
nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
   2021-01-28 11:45:58:096, 2021-01-28 11:46:03:224, 953.6926, 185.9775, 
10000192, 1950115.4446, 1611801958563, -1611801953435, -0.0000, -0.0062
   
   # Fetch 1,000,000,000 records (running for about 20 minutes)
   /opt/kafka_2.13-2.7.0/bin/kafka-consumer-perf-test.sh  --topic scheduler0 
--messages 1000000000 
--bootstrap-server=xxx.xxx.xxx.xxx:9093,xxx.xxx.xxx.xxx:9094,xxx.xxx.xxx.xxx:9095
   start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, 
nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
   2021-01-28 11:55:33:186, 2021-01-28 12:16:03:855, 95367.4615, 77.4924, 
1000000313, 812566.4277, 1611802533652, -1611801302983, -0.0001, -0.6204
   ```
   We can saw the the tps is very high as well, when fetch `5,000,000`, the tps 
is `1,765,016`, when fetch `10,000,000` the tps is `1,950,115`, when fetch 
`1,000,000,000`, the tps is `81,2566`
   
   I also tested below scenes
   when running kafka-producer-perf-test.sh, i adjusted the `--num-records` to 
huge value to make the producer script running for long time, when running 
kafka-consumer-perf-test.sh, i ajusted the `--messages` to huge value as well 
to make the consumer script running for long time
   
   During benchmarking, i observed the cpu/memory doesn't consume too much for 
all kafka nodes.
   
![image](https://media.oss.navercorp.com/user/2324/files/19a21100-6158-11eb-8a50-79c02befa4f8)
   
![image](https://media.oss.navercorp.com/user/2324/files/03945080-6158-11eb-8fee-3c673b878158)
   
![image](https://media.oss.navercorp.com/user/2324/files/0db64f00-6158-11eb-9900-9e146e6d01b2)
   
   
   FYI, on our production env, the consumer.commit offset timeout(>=5.seconds) 
issue didn't reappeared after we used the latest kafka version.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to