parent
41ceec25dd
commit
c24e396a5d
@ -0,0 +1,43 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# thanks to @sebble for the basis for this script, he did the hard work: |
||||||
|
# https://gist.github.com/sebble/e5af3d03700bfd31c62054488bfe8d4f |
||||||
|
|
||||||
|
function list_starred_repos { |
||||||
|
USER=${1:-sneak} |
||||||
|
|
||||||
|
STARS=$(curl -sI https://api.github.com/users/$USER/starred?per_page=1|egrep '^Link'|egrep -o 'page=[0-9]+'|tail -1|cut -c6-) |
||||||
|
PAGES=$((658/100+1)) |
||||||
|
|
||||||
|
echo You have $STARS starred repositories. > /dev/stderr |
||||||
|
|
||||||
|
# cloning |
||||||
|
# https://github.com/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee |
||||||
|
# breaks github's auth system |
||||||
|
REPOS="" |
||||||
|
for PAGE in `seq $PAGES`; do |
||||||
|
REPOS+=" $( |
||||||
|
curl -sH "Accept: application/vnd.github.v3.star+json" "https://api.github.com/users/$USER/starred?per_page=100&page=$PAGE" | |
||||||
|
jq -r '.[]|[.repo.full_name][0]' | |
||||||
|
grep -v eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee |
||||||
|
)" |
||||||
|
done |
||||||
|
|
||||||
|
for REPO in $REPOS ; do |
||||||
|
echo "$REPO" |
||||||
|
done |
||||||
|
} |
||||||
|
|
||||||
|
function fetch_starred_repos { |
||||||
|
for SHORTNAME in $(list_starred_repos); do |
||||||
|
UN="$(echo $SHORTNAME | cut -d'/' -f1)" |
||||||
|
if [[ ! -d "$SHORTNAME" ]]; then |
||||||
|
if [[ ! -d "$UN" ]]; then |
||||||
|
mkdir -p $UN |
||||||
|
fi |
||||||
|
git clone https://github.com/$SHORTNAME $SHORTNAME |
||||||
|
fi |
||||||
|
done |
||||||
|
} |
||||||
|
|
||||||
|
fetch_starred_repos |
@ -1 +1 @@ |
|||||||
log.txt |
*.txt |
||||||
|
@ -0,0 +1,19 @@ |
|||||||
|
HOST := nbg1.datavibe.net
|
||||||
|
WHEN := $(shell date -u +%Y-%m-%d.%H.%M.%S)
|
||||||
|
|
||||||
|
default: runlog |
||||||
|
|
||||||
|
runlog: |
||||||
|
script ./log.$(WHEN).txt bash -c "make run"
|
||||||
|
|
||||||
|
run: sync |
||||||
|
ssh root@$(HOST) "bash /root/disktest.sh 2>&1"
|
||||||
|
|
||||||
|
sync: |
||||||
|
rsync -avP ./disktest.sh root@$(HOST):/root/disktest.sh
|
||||||
|
|
||||||
|
clean: |
||||||
|
rm log.*.txt
|
||||||
|
|
||||||
|
results: |
||||||
|
grep -ie 'cpu\|encryption\|zfs\|ashift\|64kchunk\|read\|write\|samsung' *.txt | grep -v groupid | grep -v '^readwrite' | grep -v echo | grep -v rm | grep -v Laying
|
@ -0,0 +1,72 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
set -x |
||||||
|
|
||||||
|
POOLNAME="tank" |
||||||
|
MPT="/srv/z" |
||||||
|
JOBFILE="/tmp/jobfile.fio" |
||||||
|
KEYLOC="/tmp/testkey.raw" |
||||||
|
|
||||||
|
function main() { |
||||||
|
show_system_info |
||||||
|
do_zfs_tests |
||||||
|
} |
||||||
|
|
||||||
|
function print_divider() { |
||||||
|
echo '##############################################################' |
||||||
|
echo '##############################################################' |
||||||
|
} |
||||||
|
|
||||||
|
function show_system_info() { |
||||||
|
print_divider |
||||||
|
date -u |
||||||
|
lsb_release -a |
||||||
|
uname -a |
||||||
|
lsblk -t |
||||||
|
nvme list |
||||||
|
modinfo zfs | grep -iw version |
||||||
|
modinfo spl | grep -iw version |
||||||
|
zfs version |
||||||
|
print_divider |
||||||
|
} |
||||||
|
|
||||||
|
function prep_system() { |
||||||
|
killall fio || true |
||||||
|
sleep 1 |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
function do_zfs_tests() { |
||||||
|
print_divider |
||||||
|
|
||||||
|
FO="--eta-newline=10 --eta-interval=10 --eta=always" |
||||||
|
|
||||||
|
for NJ in 1 16 ; do |
||||||
|
for BS in 64k ; do |
||||||
|
for DIRNAME in none comp enc both ; do |
||||||
|
|
||||||
|
cat > $JOBFILE <<EOF |
||||||
|
|
||||||
|
[test-$DIRNAME-${BS}chunk-${NJ}thread] |
||||||
|
bs=$BS |
||||||
|
directory=$MPT/$DIRNAME/ |
||||||
|
iodepth=64 |
||||||
|
ioengine=libaio |
||||||
|
readwrite=readwrite |
||||||
|
numjobs=$NJ |
||||||
|
nrfiles=$NJ |
||||||
|
size=10000M |
||||||
|
runtime=120 |
||||||
|
time_based=1 |
||||||
|
group_reporting=1 |
||||||
|
EOF |
||||||
|
cat $JOBFILE |
||||||
|
fio $FO $JOBFILE 2>&1 |
||||||
|
rm -rf $MPT/$DIRNAME/* |
||||||
|
done |
||||||
|
done |
||||||
|
done |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
main |
@ -0,0 +1,9 @@ |
|||||||
|
Script started on Fri Feb 28 13:46:16 2020 |
||||||
|
command: bash -c make run |
||||||
|
rsync -avP ./disktest.sh root@nbg1.datavibe.net:/root/disktest.sh |
||||||
|
bash: rsync: command not found |
||||||
|
rsync: connection unexpectedly closed (0 bytes received so far) [sender] |
||||||
|
rsync error: remote command not found (code 127) at io.c(226) [sender=3.1.3] |
||||||
|
make[1]: *** [sync] Error 127 |
||||||
|
|
||||||
|
Script done on Fri Feb 28 13:46:16 2020 |
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue