forked from ungleich-public/cdist
		
	
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| num=50000
 | |
| dsthost=localhost
 | |
| 
 | |
| tmp=$(mktemp -d)
 | |
| remote_tmp=${tmp}-remote
 | |
| 
 | |
| cd "$tmp"
 | |
| 
 | |
| create_files() {
 | |
|     i=0
 | |
|     while [ $i -lt $num ]; do
 | |
|         echo $i > file-${i}
 | |
|         i=$((i+1))
 | |
|     done
 | |
| }
 | |
| 
 | |
| delete_remote() {
 | |
|     ssh "${dsthost}" "rm -rf ${remote_tmp}"
 | |
| }
 | |
| 
 | |
| 
 | |
| tar_remote() {
 | |
|     cd "${tmp}"
 | |
|     tar c . | ssh "${dsthost}" "mkdir ${remote_tmp}; cd ${remote_tmp}; tar x"
 | |
| }
 | |
| 
 | |
| cdist_remote()
 | |
| {
 | |
|     (
 | |
|         while [ $i -lt $num ]; do
 | |
|             echo __file ${remote_tmp}/file-${i} --source "${tmp}/file-${i}"
 | |
|             i=$((i+1))
 | |
|         done
 | |
|     ) | cdist config -i - -vv "${dsthost}"
 | |
| 
 | |
| }
 | |
| 
 | |
| cdist_remote_parallel()
 | |
| {
 | |
|     (
 | |
|         while [ $i -lt $num ]; do
 | |
|             echo __file ${remote_tmp}/file-${i} --source "${tmp}/file-${i}"
 | |
|             i=$((i+1))
 | |
|         done
 | |
|     ) | cdist config -j10 -i - -vv "${dsthost}"
 | |
| 
 | |
| }
 | |
| 
 | |
| echo "Creating ${num} files"
 | |
| time create_files
 | |
| 
 | |
| echo "scping files"
 | |
| time scp -r "${tmp}" "${dsthost}:$remote_tmp" >/dev/null
 | |
| 
 | |
| echo "delete remote"
 | |
| time delete_remote
 | |
| 
 | |
| echo "taring files"
 | |
| time tar_remote
 | |
| 
 | |
| echo "delete remote"
 | |
| time delete_remote
 | |
| 
 | |
| echo "cdisting files"
 | |
| time cdist_remote
 | |
| 
 | |
| echo "delete remote"
 | |
| time delete_remote
 | |
| 
 | |
| echo "cdisting files (parallel)!"
 | |
| time cdist_remote
 | |
| 
 | |
| echo "delete remote"
 | |
| time delete_remote
 | |
| 
 | |
| echo "delete local"
 | |
| rm -rf "$tmp"
 |