Advertisement
Guest User

Untitled

a guest
Aug 29th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Configration
  4.  
  5. MYSQL=/usr/bin/mysql
  6. TPCCLOAD=./tpcc_load
  7. TABLESQL=./create_table.sql
  8. CONSTRAINTSQL=./add_fkey_idx.sql
  9. DEGREE=`getconf _NPROCESSORS_ONLN`
  10.  
  11. SERVER=localhost
  12. DATABASE=tpcc
  13. USER=tpcc
  14. PASS=tpcc
  15. WAREHOUSE=10
  16.  
  17. # Load
  18.  
  19. set -e
  20. $MYSQL -u $USER -p$PASS -e "DROP DATABASE IF EXISTS $DATABASE"
  21. $MYSQL -u $USER -p$PASS -e "CREATE DATABASE $DATABASE"
  22. $MYSQL -u $USER -p$PASS $DATABASE < $TABLESQL
  23. $MYSQL -u $USER -p$PASS $DATABASE < $CONSTRAINTSQL
  24.  
  25. echo 'Loading item ...'
  26. $TPCCLOAD $SERVER $DATABASE $USER $PASS $WAREHOUSE 1 1 $WAREHOUSE > /dev/null
  27.  
  28. set +e
  29. STATUS=0
  30. trap 'STATUS=1; kill 0' INT TERM
  31.  
  32. for ((WID = 1; WID <= WAREHOUSE; WID++)); do
  33. echo "Loading warehouse id $WID ..."
  34.  
  35. (
  36. set -e
  37.  
  38. # warehouse, stock, district
  39. $TPCCLOAD $SERVER $DATABASE $USER $PASS $WAREHOUSE 2 $WID $WID > /dev/null
  40.  
  41. # customer, history
  42. $TPCCLOAD $SERVER $DATABASE $USER $PASS $WAREHOUSE 3 $WID $WID > /dev/null
  43.  
  44. # orders, new_orders, order_line
  45. $TPCCLOAD $SERVER $DATABASE $USER $PASS $WAREHOUSE 4 $WID $WID > /dev/null
  46. ) &
  47.  
  48. PIDLIST=(${PIDLIST[@]} $!)
  49.  
  50. if [ $((WID % DEGREE)) -eq 0 ]; then
  51. for PID in ${PIDLIST[@]}; do
  52. wait $PID
  53.  
  54. if [ $? -ne 0 ]; then
  55. STATUS=1
  56. fi
  57. done
  58.  
  59. if [ $STATUS -ne 0 ]; then
  60. exit $STATUS
  61. fi
  62.  
  63. PIDLIST=()
  64. fi
  65. done
  66.  
  67. for PID in ${PIDLIST[@]}; do
  68. wait $PID
  69.  
  70. if [ $? -ne 0 ]; then
  71. STATUS=1
  72. fi
  73. done
  74.  
  75. if [ $STATUS -eq 0 ]; then
  76. echo 'Completed.'
  77. fi
  78.  
  79. exit $STATUS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement