[demos] Update iperf3/sysbench for benchmarks
This commit is contained in:
		
							parent
							
								
									423814f2cd
								
							
						
					
					
						commit
						2041c7531c
					
				
							
								
								
									
										47
									
								
								demos/benchmarks/iperf3/iperf3.sh
									
									
									
									
									
										Executable file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										47
									
								
								demos/benchmarks/iperf3/iperf3.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,47 @@ | ||||
| #! /bin/bash | ||||
| set -e | ||||
| 
 | ||||
| CUR_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) | ||||
| TEST_TIME=${1:-60} | ||||
| BUF_LEN=${2:-128K} | ||||
| STREMS=${3:-8} | ||||
| 
 | ||||
| 
 | ||||
| function iperf3_prepare() | ||||
| { | ||||
|     ./build.sh | ||||
| } | ||||
| 
 | ||||
| function iperf3_run() | ||||
| { | ||||
|     echo "" | ||||
|     echo "*** Doing iperf3 with ${STREMS} client streams in parallel ***" | ||||
|     echo "*** with read/write buffer length ${BUF_LEN} for ${TEST_TIME} seconds. ***" | ||||
| 
 | ||||
|     pushd occlum_server | ||||
|     occlum run /bin/iperf3 -s -p 6777 -1 1>/dev/null & | ||||
|     popd | ||||
| 
 | ||||
|     sleep 3 | ||||
| 
 | ||||
|     pushd occlum_client | ||||
|     occlum run /bin/iperf3 -c 127.0.0.1 -p 6777 -f Mbits \ | ||||
|         -P ${STREMS} -t ${TEST_TIME} -l ${BUF_LEN} | tee output.txt | ||||
|     popd | ||||
| } | ||||
| 
 | ||||
| function iperf3_result() | ||||
| { | ||||
|     output="occlum_client/output.txt" | ||||
|     SENDER_RES=$(grep "SUM" ${output} | grep "sender" | awk '{print $6}') | ||||
|     RECV_RES=$(grep "SUM" ${output} | grep "receiver" | awk '{print $6}') | ||||
| 
 | ||||
|     jq --argjson sender $SENDER_RES --argjson recv $RECV_RES \ | ||||
|         '(.[] | select(.extra == "sender") | .value) |= $sender | | ||||
|         (.[] | select(.extra == "receiver") | .value) |= $recv'  \ | ||||
|         result_template.json  > result.json | ||||
| } | ||||
| 
 | ||||
| iperf3_prepare | ||||
| iperf3_run | ||||
| iperf3_result | ||||
							
								
								
									
										14
									
								
								demos/benchmarks/iperf3/result_template.json
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										14
									
								
								demos/benchmarks/iperf3/result_template.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| [ | ||||
|     { | ||||
|         "name": "Sender Average Rate", | ||||
|         "unit": "Mbits/sec", | ||||
|         "value": 0, | ||||
|         "extra": "sender" | ||||
|     }, | ||||
|     { | ||||
|         "name": "Receiver Average Rate", | ||||
|         "unit": "Mbits/sec", | ||||
|         "value": 0, | ||||
|         "extra": "receiver" | ||||
|     } | ||||
| ] | ||||
							
								
								
									
										26
									
								
								demos/benchmarks/sysbench/result_template.json
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										26
									
								
								demos/benchmarks/sysbench/result_template.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| [ | ||||
|     { | ||||
|         "name": "Threads Minimum latency", | ||||
|         "unit": "ms", | ||||
|         "value": 0, | ||||
|         "extra": "min" | ||||
|     }, | ||||
|     { | ||||
|         "name": "Threads Average Latency", | ||||
|         "unit": "ms", | ||||
|         "value": 0, | ||||
|         "extra": "avg" | ||||
|     }, | ||||
|     { | ||||
|         "name": "Threads Maximum Latency", | ||||
|         "unit": "ms", | ||||
|         "value": 0, | ||||
|         "extra": "max" | ||||
|     }, | ||||
|     { | ||||
|         "name": "Thread 95th Percentile Latency", | ||||
|         "unit": "ms", | ||||
|         "value": 0, | ||||
|         "extra": "per95" | ||||
|     } | ||||
| ] | ||||
							
								
								
									
										44
									
								
								demos/benchmarks/sysbench/sysbench.sh
									
									
									
									
									
										Executable file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										44
									
								
								demos/benchmarks/sysbench/sysbench.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,44 @@ | ||||
| #! /bin/bash | ||||
| set -e | ||||
| 
 | ||||
| CUR_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) | ||||
| TEST_TIME=${1:-60} | ||||
| TEST_THREADS=${2:-200} | ||||
| 
 | ||||
| function sysbench_prepare() | ||||
| { | ||||
|     ./dl_and_build.sh | ||||
|     ./prepare_sysbench.sh | ||||
| } | ||||
| 
 | ||||
| function sysbench_run() | ||||
| { | ||||
|     echo "" | ||||
|     echo "*** Doing sysbench with ${TEST_THREADS} threads for ${TEST_TIME} seconds ***" | ||||
| 
 | ||||
|     pushd occlum_instance | ||||
|     occlum run /bin/sysbench threads \ | ||||
|         --threads=${TEST_THREADS} --thread-yields=100 \ | ||||
|         --thread-locks=4 --time=${TEST_TIME} run | tee output.txt | ||||
|     popd | ||||
| } | ||||
| 
 | ||||
| function sysbench_result() | ||||
| { | ||||
|     output="occlum_instance/output.txt" | ||||
|     MIN=$(grep "min:" ${output} | awk '{print $NF}') | ||||
|     AVG=$(grep "avg:" ${output} | awk '{print $NF}') | ||||
|     MAX=$(grep "max:" ${output} | awk '{print $NF}') | ||||
|     PER95=$(grep "95th" ${output} | awk '{print $NF}') | ||||
| 
 | ||||
|     jq --argjson min $MIN --argjson avg $AVG --argjson max $MAX --argjson per95 $PER95 \ | ||||
|         '(.[] | select(.extra == "min") | .value) |= $min | | ||||
|         (.[] | select(.extra == "avg") | .value) |= $avg | | ||||
|         (.[] | select(.extra == "max") | .value) |= $max | | ||||
|         (.[] | select(.extra == "per95") | .value) |= $per95'  \ | ||||
|         result_template.json  > result.json | ||||
| } | ||||
| 
 | ||||
| sysbench_prepare | ||||
| sysbench_run | ||||
| sysbench_result | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user