bench_sms.sh
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:1k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. #!/bin/sh
  2. #
  3. # Use `test/test_smsc' to test SMS speed.
  4. set -e
  5. case "$1" in
  6. --fast) times=1000; shift ;;
  7. *) times=100000 ;;
  8. esac
  9. . benchmarks/functions.inc
  10. function gather_data {
  11.     rm -f bench_sms_*.log
  12.     
  13.     test/test_smsc -m "$1" -r $times 2> bench_sms_smsc.log &
  14.     sleep 1
  15.     gw/bearerbox -v 4 benchmarks/bench_sms.conf &
  16.     sleep 1
  17.     gw/smsbox -v 4 benchmarks/bench_sms.conf &
  18.     
  19.     wait
  20.     
  21.     check_for_errors bench_sms_*.log
  22. }
  23. function analyze_logs {
  24.     for type in submit # deliver deliver_ack http_request 
  25.     do
  26. awk "/INFO: Event .*, type $type,/ { print $NF, $(NF-2) }" 
  27.     bench_sms_smsc.log |
  28. uniq -c | 
  29. awk '
  30.     NR == 1 { first = $2 }
  31.     { print $2 - first, $1 }
  32. ' > bench_sms-$type.dat
  33.     done
  34.     awk '/DEBUG: RTT / { print ++n, $NF }' bench_sms_smsc.log 
  35.      > bench_sms-rtt.dat
  36. }
  37.     
  38. function make_graphs {
  39.     plot benchmarks/bench_sms_"$1" 
  40. "time (s)" "requests/s (Hz)" 
  41. "bench_sms-submit.dat" "submit"
  42. # "bench_sms-deliver.dat" "deliver" 
  43. # "bench_sms-deliver_ack.dat" "deliver_ack" 
  44. # "bench_sms-http_request.dat" "http_request" 
  45.     
  46.     plot benchmarks/bench_sms_rtt_"$1" 
  47. "received message number" "average round trip time (s)" 
  48. "bench_sms-rtt.dat" ""
  49. }
  50. function run {
  51.     gather_data "$1"
  52.     analyze_logs
  53.     make_graphs "$1"
  54. }
  55. run n_messages
  56. # run sustained_level
  57. sed "s/#TIMES#/$times/g" benchmarks/bench_sms.txt
  58. rm -f bench_sms*.log
  59. rm -f bench_sms*.dat