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" |