33
Analiza zmogljivosti obla�nih in stre�ni�kih storitev Uredil prof. dr. Miha Mraz Maj 2017

Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

  • Upload
    vohanh

  • View
    224

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

Analiza zmogljivosti obla�nih instre�ni�kih storitev

Uredil prof. dr. Miha Mraz

Maj 2017

Page 2: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

2

Page 3: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

Kazalo

Predgovor iii

1 Analiza zmogljivosti oblačne storitve Dropbox (G. Primožič, S.Strban) 11.1 Opis problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Dropbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Izbira tehnologij . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1 BASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3.2 curl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3.3 Dropbox API . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 Definicija bremena storitve . . . . . . . . . . . . . . . . . . . . . 31.4.1 Latenca . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4.2 Prenos posameznih datotek . . . . . . . . . . . . . . . . . 61.4.3 Prenos več datotek skupaj z nadzirano pogostostjo . . . . 6

1.5 Definicija metrik in orodij za meritve . . . . . . . . . . . . . . . . 71.5.1 BASH skripta za izvajanje testov . . . . . . . . . . . . . . 71.5.2 BASH skripta za kreiranje datotek . . . . . . . . . . . . . 121.5.3 BASH skripta za prenost datotek . . . . . . . . . . . . . . 13

1.6 Rezultati meritev . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.6.1 Prenos posameznih datotek na strežnik . . . . . . . . . . 171.6.2 Prenos posameznih datotek s strežnika . . . . . . . . . . . 191.6.3 Prenos posameznih datotek skozi teden . . . . . . . . . . 211.6.4 Iskanje točke nasičenja . . . . . . . . . . . . . . . . . . . . 221.6.5 Uporabniška izkušnja ob obremenitvi . . . . . . . . . . . . 25

1.7 Plan dela za naslednji teden . . . . . . . . . . . . . . . . . . . . . 26

i

Page 4: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

ii KAZALO

Page 5: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

Predgovor

Pričujoče delo je razdeljeno v deset poglavij, ki predstavljajo analize zmoglji-vosti nekaterih tipičnih strežniških in oblačnih izvedenk računalniških sistemovin njihovih storitev. Avtorji posameznih poglavij so slušatelji predmeta Za-nesljivost in zmogljivost računalniških sistemov, ki se je v štud.letu 2016/2017predaval na 1. stopnji univerzitetnega študija računalništva in informatike naFakulteti za računalništvo in informatiko Univerze v Ljubljani. Vsem študentomse zahvaljujem za izkazani trud, ki so ga vložili v svoje prispevke.

prof. dr. Miha Mraz, Ljubljana, v maju 2017

iii

Page 6: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

iv PREDGOVOR

Page 7: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

Poglavje 1

Analiza zmogljivosti oblačnestoritve Dropbox

Gašper Primožič, Sebastien Strban

1.1 Opis problema

Ker postajajo oblačne storitve vse bolj ekonomične in nekaj popolnoma običaj-nega, smo se odločili testirati zmogljivost eno izmed takih storitev. Ker živimov času kjer nam vladajo informacije, si želimo da so te informaicje agregirane,varovane, nam pa vedno dostopne ko jih potrebujemo.

Iz teh, ali pa podobnih namenov, se velikokrat odločimo uporabiti Dropbox,zlasti zaradi razširjenosti, priljubljenosti in enostavnosti, sami pa se ne vprašamoin ne pomislimo, kam točno naši podatki gredo. Namen pričujočega poglavja jeanalizirati zmogljivost takega oblačnega ponudnika, na podlagi izmerjenih me-trik. Npr.: hitrost dostopa, hitrost prenosa podatkov na oblak, hitrost prenosapodatkov iz oblaka,... S tem želimo ugotoviti zmožnosti oblačnega ponudnika.Na podlagi dobljenih meritev želimo ugotoviti prednosti ali pa pomanjkljivostitakih sistemov, v kolikor bi se odločili za uporabo takšne storitve.

1.2 Dropbox

Dropbox[1] je ponudnik storitve hranjenja podatkov v oblaku, velikokrat na-menjen izmenjavi datotek. Dropbox je dostopen na Windows, Machintosh inLinux operacijskih sistemih.

Storitev nam ponuja 2 gigabajta (GB) prostora pri brezplačnem načinu upo-rabe, katerega pa lahko z dodatno članarino še razširimo. Uporabniki lahko do-stopajo do storitve preko namenske aplikacije ali pa kar preko spletnega brskal-

1

Page 8: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

2POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

nika. Tako se mora uporabnik le prijaviti s svojim računom in pridobi preglednad svojimi datotekami kjerkoli kjer je internetna povezava.

Kot je prikazano na sliki 1.1, lahko uporabniki dodajajo, brišejo ali pa si de-lijo datoteke. Datoteke so lahko poljubnih vrst, kot so dokumenti, fotografije invideo. Vse spremembe bodo avtomatično vidne na vseh napravah (osebni raču-nalniki, telefoni in preko spletne strani), kar nam omogoča dostop od koderkoli,obenem pa imamo zagotovljeno varnost nad našimi podatki.

Slika 1.1: Abstrakcija delovanja oblačne storitve.

Page 9: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 3

1.3 Izbira tehnologijPri testiranju smo se odločili uporabiti sledeče tehnologije, ki so navedene vnadaljevanju.

1.3.1 BASHBash[4] je Unix ukazna lupina (ang. shell). To je program, katerega namen jeomogočiti komunikacijo med uporbnikom in jedrom operacijskega sistema. Ko-munikacija poteka znakovno, kar pomeni, da uporabnik preko tipkovnice vnašaukaze, na katere odziv sistema lahko prebere z zaslona.

V ukazni lupini poganjamo programe, s katerimi izvajamo željena opravila.Torej interpretira ukaze, ki jih vpisujemo preko tipkovnice in izvaja programe, kijih kot uporabnik zahtevamo. Opravila, ki jih zahtevamo, se vejijo vse od upo-rabniških programov, do najrazličnejših administrativnih opravil in nastavitevsistema. Ob izvajanju programov lupina oblikuje zapise in koordinira izvajanjeparalelnih zahtevkov. Vse izhaja iz zamisli, da delo razdelimo na manjše in točnodoločene naloge, katere učinkovito razrešijo namenski programi. Naloga upo-rabnika tako postane, da preko ukazne lupine, poganja programe v pravilnemvrstnem redu.

Prednost takega pristopa je, da imamo tako na voljo množico preizkušenihprogramov, katere pa moramo le pravilno povezati v skripti kot neko celoto, kirešuje določen problem.

1.3.2 curlcurl[5] je orodje, dostopno kot program v ukazni lupini bash, ki je namenjenoprenosu podatkov na, ali s strežnikov, z uporabo raznih podprtih protokolov(DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP,LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SM-TPS, TELNET in TFTP). Curl lahko tako uporabimo za FTP prenos, HTTPzahteve, SSL povezave, piškote in tudi uporabniško avtentikacijo.

1.3.3 Dropbox APIPri meritvah se sklicujemo na Dropbox API [7], kar nam omogoča neposrednokomunikacijo s programskimi komponentami Dropboxa. Tako s pomočjo mno-žice HTTP končnih točk lahko integriramo željeno aplikacijo. Dropbox ponujalastno HTTP dokumentacijo za API, ki ponuja vse kar lahko z njim storimo.Nudi tudi organizirane odgovore na pogosta vprašanja glede Dropbox API inponuja primerke uporabe.

1.4 Definicija bremena storitveZ uporabo naspisane skripte, bomo testirali scenarije bremen zmogljivosti opi-sane v nadaljevanju.

Page 10: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

4POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

1.4.1 Latenca

ping [6] je administrativno orodje (program), ki ga ponavadi uporabljamo za testdosegljivosti (reachability) gostitelja na internetnem protokolu (IP) omrežja.Izmeri čas, ki ga potrebujemo, do destinacije in nazaj do vira, od koder smoposlali sporočilo. Ta čas imenujemu tudi round-trip time (RTT).

ping deluje tako, da pošilja t.i. Internet Control Message Protocol (ICMP)Echo Request pakete do ciljnega gostitelja in čaka na ICMP Echo Reply. pingnam tako lahko pomaga pri določitvi morebitnih napak, izgubi paketov na po-vezavi, obvesti nas pa tudi s statističnim povzetkom o povprečju, standardnemodklonu, ter minimalnem in maksimalnem času RTT.Z izvedbo ukaza ping, preko ukazne lupine ali skripte, določimo čas dostopa.

Izmerjeni povprečni časi dostopa za US-West območje (California) so sledeči:

PING 108.160.172.65 (108.160.172.65) 56(84) bytes of data.64 bytes from 108.160.172.65: icmp_seq=1 ttl=52 time=179 ms64 bytes from 108.160.172.65: icmp_seq=2 ttl=52 time=179 ms64 bytes from 108.160.172.65: icmp_seq=3 ttl=52 time=179 ms64 bytes from 108.160.172.65: icmp_seq=4 ttl=52 time=179 ms64 bytes from 108.160.172.65: icmp_seq=5 ttl=52 time=178 ms64 bytes from 108.160.172.65: icmp_seq=6 ttl=52 time=184 ms64 bytes from 108.160.172.65: icmp_seq=7 ttl=52 time=180 ms64 bytes from 108.160.172.65: icmp_seq=8 ttl=52 time=179 ms64 bytes from 108.160.172.65: icmp_seq=9 ttl=52 time=179 ms64 bytes from 108.160.172.65: icmp_seq=10 ttl=52 time=179 ms

— 108.160.172.65 ping statistics —10 packets transmitted, 10 received, 0% packet loss, time 9012msrtt min/avg/max/mdev = 178.815/179.935/184.236/1.537 ms

Izmerjeni povprečni časi dostopa za US-East območje (Virginia) so sledeči:

PING 45.58.74.1 (45.58.74.1) 56(84) bytes of data.64 bytes from 45.58.74.1: icmp_seq=1 ttl=50 time=114 ms64 bytes from 45.58.74.1: icmp_seq=2 ttl=50 time=113 ms64 bytes from 45.58.74.1: icmp_seq=3 ttl=50 time=114 ms64 bytes from 45.58.74.1: icmp_seq=4 ttl=50 time=118 ms64 bytes from 45.58.74.1: icmp_seq=5 ttl=50 time=113 ms64 bytes from 45.58.74.1: icmp_seq=6 ttl=50 time=115 ms64 bytes from 45.58.74.1: icmp_seq=7 ttl=50 time=112 ms64 bytes from 45.58.74.1: icmp_seq=8 ttl=50 time=144 ms64 bytes from 45.58.74.1: icmp_seq=9 ttl=50 time=117 ms64 bytes from 45.58.74.1: icmp_seq=10 ttl=50 time=114 ms

Page 11: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 5

— 45.58.74.1 ping statistics —10 packets transmitted, 10 received, 0% packet loss, time 9011msrtt min/avg/max/mdev = 112.980/118.066/144.773/9.048 ms

Izmerjeni povprečni časi dostopa za EU območje (Germany) so sledeči:

PING 162.125.66.7 (162.125.66.7) 56(84) bytes of data.64 bytes from 162.125.66.7: icmp_seq=1 ttl=55 time=26.7 ms64 bytes from 162.125.66.7: icmp_seq=2 ttl=55 time=26.5 ms64 bytes from 162.125.66.7: icmp_seq=3 ttl=55 time=26.8 ms64 bytes from 162.125.66.7: icmp_seq=4 ttl=55 time=27.1 ms64 bytes from 162.125.66.7: icmp_seq=5 ttl=55 time=28.5 ms64 bytes from 162.125.66.7: icmp_seq=6 ttl=55 time=26.7 ms64 bytes from 162.125.66.7: icmp_seq=7 ttl=55 time=26.8 ms64 bytes from 162.125.66.7: icmp_seq=8 ttl=55 time=29.1 ms64 bytes from 162.125.66.7: icmp_seq=9 ttl=55 time=26.0 ms64 bytes from 162.125.66.7: icmp_seq=10 ttl=55 time=27.9 ms

— 162.125.66.7 ping statistics —10 packets transmitted, 10 received, 0% packet loss, time 9015msrtt min/avg/max/mdev = 26.090/27.257/29.141/0.933 ms

Izmerjeni povprečni časi dostopa za Asia območje (Japan) so sledeči:

PING 162.125.80.1 (162.125.80.1) 56(84) bytes of data.64 bytes from 162.125.80.1: icmp_seq=1 ttl=53 time=351 ms64 bytes from 162.125.80.1: icmp_seq=2 ttl=53 time=332 ms64 bytes from 162.125.80.1: icmp_seq=3 ttl=53 time=314 ms64 bytes from 162.125.80.1: icmp_seq=4 ttl=53 time=298 ms64 bytes from 162.125.80.1: icmp_seq=5 ttl=53 time=310 ms64 bytes from 162.125.80.1: icmp_seq=6 ttl=53 time=276 ms64 bytes from 162.125.80.1: icmp_seq=7 ttl=53 time=273 ms64 bytes from 162.125.80.1: icmp_seq=8 ttl=53 time=276 ms64 bytes from 162.125.80.1: icmp_seq=9 ttl=53 time=277 ms64 bytes from 162.125.80.1: icmp_seq=10 ttl=53 time=279 ms

— 162.125.80.1 ping statistics —10 packets transmitted, 10 received, 0% packet loss, time 9009msrtt min/avg/max/mdev = 273.684/299.178/351.497/25.935 ms

Page 12: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

6POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

1.4.2 Prenos posameznih datotekZ uporabo skripte za kreiranje datotek 1.2, pri testiranju generiramo velikostidatotek 1B, 10B, 100B, 1KiB, 10KiB, ,100KiB, 1MiB, 10MiB. Posamezna dato-teka je avtomatsko narejena z uporabo skripte za kreiranje datotek. Te datotekeuporabimo kot breme pri testiranju prenosov na in s strežnika oblačne storitve,kjer bomo merili čas, ki ga potrebujemo za prenos in hitrost pri kateri se prenosvrši.

1.4.3 Prenos več datotek skupaj z nadzirano pogostostjoPri tem bremenu skušamo ugotoviti, kako se spreminja odzivnost strežnika, kopovečujemo frekvenco zahtevkov. Tako skušamo ugotoviti, kje se nahaja točkanasičenja. Izberemo določeno velikost bremena, katerega frekvenco prejema-nja ali oddajanja kontrolirano nadzorujemo, obenem pa spremljamo odzivnostobremenjenega strežnika.

Page 13: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 7

1.5 Definicija metrik in orodij za meritve

Spodaj sledijo definicije metrik in orodij za meritve.

1.5.1 BASH skripta za izvajanje testov

Skripta 1.1 je namenjena izvajanju testov hitrosti obdelave različnih velikostidatotek.

Listing 1.1: Skripta za izvajanje testov.#!/bin/bash#script: run_test.sh

#SET VARSFILE_SIZE_ARRAY=("1" "10" "100" "1KiB" "10KiB" "100KiB" "1MiB" "10MiB")unset FILE_CREATED_ARRAYunset SIZEunset COUNT

FILE_PREFIX="bin_file"FILE_UPLOAD_PREFIX="up/"$FILE_PREFIXFILE_UPLOAD_SUFFIX="up"FILE_DOWNLOAD_PREFIX="down/"$FILE_PREFIXFILE_DOWNLOAD_SUFFIX="down"

SILENT=0SHOW_PROGRESSBAR=0

function f_help {echo "Usage: ./$(basename $0) [MODE(optional)] [CONTROL] [ACTION]"echo ""echo "Modes: "echo "-s silent"echo "-p show progressbar"echo ""echo "Control: "echo "-c count"echo "-z size in bytes"echo "-d delay in secondds"echo ""echo "Actions: [up | down | up-parallel | down-parallel | help]"echo ""echo "Actions: [up-parallel | down-parallel] require control -c -z -d"

}

Page 14: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

8POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

function f_get_parameters {if [[ $SHOW_PROGRESSBAR == 1 && $SILENT == 0 ]]; then

CARRY_PARAMETERS="-p"elif [[ $SHOW_PROGRESSBAR == 0 && $SILENT == 0 ]]; thenCARRY_PARAMETERS=""

elseCARRY_PARAMETERS="-s"

fi

echo $CARRY_PARAMETERS}

#CREATE FILESfunction f_create_files {

echo "Creating files: "tLen=${#FILE_SIZE_ARRAY[@]}for (( i=0; i<${tLen}; i++ )); do

echo -n "Creating file: [$FILE_PREFIX${FILE_SIZE_ARRAY[$i]}]..."

message=$(bash allocate_file.sh"$FILE_PREFIX${FILE_SIZE_ARRAY[$i]}" "${FILE_SIZE_ARRAY[$i]}")

if [[ $? == 0 ]]; thenecho "DONE"FILE_CREATED_ARRAY[${#FILE_CREATED_ARRAY[@]}]="${FILE_SIZE_ARRAY[$i]}"

elseecho "FAIL"echo $message

fidoneecho -e "\n"

}#DELETE FILESfunction f_delete_files {

echo "Deleting files:"for (( i=0; i<${#FILE_CREATED_ARRAY[@]}; i++ )); do

echo -n "Deleting file: [$FILE_PREFIX${FILE_CREATED_ARRAY[$i]}]..."rm "$FILE_PREFIX${FILE_CREATED_ARRAY[$i]}"

if [[ $? == 0 ]]; thenecho "DONE"

elseecho "FAIL"

fidone

}#READ DIRfunction f_read_summary_files {

dir=$1

Page 15: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 9

if [[ $SILENT == 0 ]]; thenfor file in $dir; docat "$file"echo -e "\n"

doneelse

for file in $dir; docat "$file" | grep "RETRY\|FAILED" $dir

donefi

echo "SUMMARY (average): "grep -h "Lookup time:.*\|Connect time:.*\|PreXfer time:.*\|StartXfer

time:.*\|Total time:.*\|Download speed:.*\|Upload speed:.*\|Retrytime:.*" $dir | awk -F ’\t’ ’{sum[$1]=sum[$1]+$2;nr[$1]++} END{for (a in sum) {print a"\t"sum[a]/nr[$1]}}’

grep "Retry time:.*" $dir | awk -F ’\t’’{sum[$1]=sum[$1]+$2;nr[$1]++} END {for (a in sum) {printa"\t"sum[a]}}’ | cut -d ’:’ -f 2- | awk -F ’\t’’{sum[$1]=sum[$1]+$2;nr[$1]++} END {for (a in sum) {print"Self"a"\t"sum[a]/nr[a]}}’

echo -e "\n"}

#TESTSfunction f_test_up {

#uplocal CARRY_PARAMETERS=$(f_get_parameters)

for (( i=0; i<${#FILE_CREATED_ARRAY[@]}; i++ )); dobash dropbox_ud.sh $CARRY_PARAMETERS "upload"

"$FILE_PREFIX${FILE_CREATED_ARRAY[$i]}""$FILE_UPLOAD_PREFIX${FILE_CREATED_ARRAY[$i]}$FILE_UPLOAD_SUFFIX"

echo -e "\n"done

}function f_test_down {

#downlocal CARRY_PARAMETERS=$(f_get_parameters)

for (( i=0; i<${#FILE_CREATED_ARRAY[@]}; i++ )); dobash dropbox_ud.sh $CARRY_PARAMETERS "download"

"$FILE_UPLOAD_PREFIX${FILE_CREATED_ARRAY[$i]}$FILE_UPLOAD_SUFFIX""$FILE_DOWNLOAD_PREFIX${FILE_CREATED_ARRAY[$i]}$FILE_DOWNLOAD_SUFFIX"

echo -e "\n"done

}function f_test_up_parallel {

#parallel uplocal COUNT=$1

Page 16: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

10POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

local SIZE=$2local DELAY=$3local CARRY_PARAMETERS=$(f_get_parameters)

for (( i=1; i<=$COUNT; i++ )); do$(bash dropbox_ud.sh $CARRY_PARAMETERS "upload"

"$FILE_PREFIX${FILE_CREATED_ARRAY[0]}""$FILE_UPLOAD_PREFIX${FILE_CREATED_ARRAY[0]}$FILE_UPLOAD_SUFFIX$i"> "log/log$FILE_UPLOAD_SUFFIX$i.txt") &

sleep $DELAYdonewait

f_read_summary_files "$(eval echo"log/log$FILE_UPLOAD_SUFFIX"{1..$COUNT}".txt")"

}function f_test_down_parallel {

#parallel downlocal COUNT=$1local SIZE=$2local DELAY=$3local CARRY_PARAMETERS=$(f_get_parameters)

for (( i=1; i<=$COUNT; i++ )); do$(bash dropbox_ud.sh $CARRY_PARAMETERS "download"

"$FILE_UPLOAD_PREFIX${FILE_CREATED_ARRAY[0]}$FILE_UPLOAD_SUFFIX$i""$FILE_DOWNLOAD_PREFIX${FILE_CREATED_ARRAY[0]}$FILE_DOWNLOAD_SUFFIX$i"> "log/log$FILE_DOWNLOAD_SUFFIX$i.txt") &

sleep $DELAYdonewait

f_read_summary_files "$(eval echo"log/log$FILE_DOWNLOAD_SUFFIX"{1..$COUNT}".txt")"

}

#MAIN#getopt#Look for optional config file parameterwhile getopts ":c:z:d:ps" opt; do

case $opt in

c)#echo "-c was triggered, Parameter: $OPTARG" >&2COUNT=$OPTARG;;

z)SIZE=$OPTARG

Page 17: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 11

;;d)DELAY=$OPTARG;;

p)SHOW_PROGRESSBAR=1;;

s)SILENT=1;;

\?)echo "Invalid option: -$OPTARG" >&2exit 1;;

:)echo "Option -$OPTARG requires an argument." >&2exit 1;;

esacdone

shift $(( OPTIND - 1 ))ACTION="$1"

case $ACTION in(up)

f_create_filesf_test_upf_delete_files

;;(down)

f_create_filesf_test_downf_delete_files

;;(up-parallel)

if [ -z "$COUNT" ] || [ -z "$SIZE" ] || [ -z "$DELAY" ]; thenecho "Wrong action!"f_helpexit 1

fi

FILE_SIZE_ARRAY=("$SIZE")f_create_filesf_test_up_parallel "$COUNT" "$SIZE" "$DELAY"f_delete_files

;;(down-parallel)

if [ -z "$COUNT" ] || [ -z "$SIZE" ] || [ -z "$DELAY" ]; then

Page 18: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

12POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

echo "Wrong action!"f_helpexit 1

fi

FILE_SIZE_ARRAY=("$SIZE")f_create_filesf_test_down_parallel "$COUNT" "$SIZE" "$DELAY"f_delete_files

;;(help)

f_help;;(*)

echo "Wrong action!"f_helpexit 1

esac

exit

1.5.2 BASH skripta za kreiranje datotek

Skripta 1.2 je namjena natančni opredelitvi datotek, ki jih bomo uporabili prinašem testiranju.

Listing 1.2: Skripta za kreiranje datotek.#!/bin/bash#script: allocate_file.sh

function f_help {echo "Usage: ./$(basename $0) [FILENAME] [SIZE]"

}

function f_allocate_file {local FILE_NAME=$1local FILE_SIZE=$2

if [ -z "$FILE_NAME" ] || [ -z "$FILE_SIZE" ]; thenecho "Wrong action!"f_helpexit 1

fi

if [ -e "$FILE_NAME" ]; thenecho "File ["$FILE_NAME"] allready exists!"

Page 19: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 13

exit 1;else

fallocate -l "$FILE_SIZE" "$FILE_NAME"fi

}

#MAINFILE_NAME=$1FILE_SIZE=$2

f_allocate_file $FILE_NAME $FILE_SIZE

exit

1.5.3 BASH skripta za prenost datotek

Ta skripta 1.3 je namenjena prednosu datototek. Uporabljen Dropbox API [7]in curl [5].

Listing 1.3: skripta za prenost datotek#!/bin/bash#script: dropbox_ud.sh

API_UPLOAD_URL="https://content.dropboxapi.com/2/files/upload"API_DOWNLOAD_URL="https://content.dropboxapi.com/2/files/download"OAUTH_ACCESS_TOKEN="<TOKEN>"SILENT=0SHOW_PROGRESSBAR=0

function f_help {echo "Usage: ./$(basename $0) [MODE(optional)] [ACTION] [SOURCE]

[DESTINATION]"echo ""echo "Modes: "echo "-s silent"echo "-p show progressbar"echo ""echo "Actions: [upload | download | help]"

}

#Print the message based on $SILENT variablefunction print {

if [[ $SILENT == 0 ]]; thenecho -ne "$1";

fi

Page 20: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

14POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

}

function f_upload {local FILE_SOURCE="$1"local FILE_DESTINATION="$2"RESPONSE_FILE="response/"$(basename $FILE_DESTINATION)"response.txt"

if [[ $FILE_DESTINATION != /* ]]; thenFILE_DESTINATION="/"$FILE_DESTINATION

fi

if [[ $SHOW_PROGRESSBAR == 1 && $SILENT == 0 ]]; thenCURL_PARAMETERS="--progress-bar"LINE_CR="\n"

elif [[ $SHOW_PROGRESSBAR == 0 && $SILENT == 0 ]]; thenCURL_PARAMETERS=""LINE_CR="\n"

elseCURL_PARAMETERS="-L -s"LINE_CR=""

fi

print "> Uploading \"$FILE_SOURCE\" to \"$FILE_DESTINATION\"...$LINE_CR"

curl -X POST $API_UPLOAD_URL \--header "Authorization: Bearer $OAUTH_ACCESS_TOKEN" \--header "Dropbox-API-Arg: {\"path\": \"$FILE_DESTINATION\"}" \--header "Content-Type: application/octet-stream" \--data-binary @"$FILE_SOURCE" \$CURL_PARAMETERS -D "$RESPONSE_FILE" -o /dev/null \-w ’Lookup time:\t%{time_namelookup}\nConnect

time:\t%{time_connect}\nPreXfertime:\t%{time_pretransfer}\nStartXfertime:\t%{time_starttransfer}\nTotaltime:\t%{time_total}\nDownload speed:\t%{speed_download}\nUploadspeed:\t%{speed_upload}\n’

#Checkif grep -q "^HTTP/1.1 200 OK" "$RESPONSE_FILE"; then

print "DONE\n"else

if grep -q "^HTTP/1.1 429 too_many_write_operations/""$RESPONSE_FILE"; then

echo -e "Retry time:\t"$( grep "Retry-After:" "$RESPONSE_FILE"| cut -f2 -d " " | tr -dc ’0-9’)"\n"

sleep $( grep "Retry-After:" "$RESPONSE_FILE" | cut -f2 -d " "| tr -dc ’0-9’)

print "RETRY: $(head -n 1 $RESPONSE_FILE)\n"f_upload "$1" "$2"

Page 21: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 15

elseprint "FAILED: $(head -n 1 $RESPONSE_FILE)\n"

exit 1fi

fi}function f_download {

local FILE_SOURCE="$1"local FILE_DESTINATION="$2"RESPONSE_FILE="response/"$(basename $FILE_DESTINATION)"response.txt"

if [[ $FILE_SOURCE != /* ]]; thenFILE_SOURCE="/"$FILE_SOURCE

fi

if [ -e "$FILE_DESTINATION" ]; thenprint "File ["$FILE_DESTINATION"] allready exists!"exit 1;

fi

if [[ $SHOW_PROGRESSBAR == 1 && $SILENT == 0 ]]; thenCURL_PARAMETERS="--progress-bar"LINE_CR="\n"

elif [[ $SHOW_PROGRESSBAR == 0 && $SILENT == 0 ]]; thenCURL_PARAMETERS=""LINE_CR="\n"

elseCURL_PARAMETERS="-L -s"LINE_CR=""

fi

print "> Downloading \"$FILE_SOURCE\" to \"$FILE_DESTINATION\"...$LINE_CR"

curl -X POST $API_DOWNLOAD_URL \--header "Authorization: Bearer $OAUTH_ACCESS_TOKEN" \--header "Dropbox-API-Arg: {\"path\": \"$FILE_SOURCE\"}" \-o "$FILE_DESTINATION" \$CURL_PARAMETERS -D "$RESPONSE_FILE" \-w ’Lookup time:\t%{time_namelookup}\nConnect

time:\t%{time_connect}\nPreXfertime:\t%{time_pretransfer}\nStartXfertime:\t%{time_starttransfer}\nTotaltime:\t%{time_total}\nDownload speed:\t%{speed_download}\nUploadspeed:\t%{speed_upload}\n’

#Checkif grep -q "^HTTP/1.1 200 OK" "$RESPONSE_FILE"; then

print "DONE\n"else

Page 22: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

16POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

print "FAILED: $(head -n 1 $RESPONSE_FILE)\n"rm -fr "$FILE_DESTINATION"exit 1

fi}

#MAIN#getopt#Look for optional config file parameterwhile getopts ":sp" opt; do

case $opt in

s)SILENT=1

;;

p)SHOW_PROGRESSBAR=1

;;

\?)echo "Invalid option: -$OPTARG" >&2exit 1

;;

esacdoneshift $(( OPTIND - 1 ))

ACTION="$1"FILE_SOURCE="$2"FILE_DESTINATION="$3"

case $ACTION in(upload)

f_upload "$FILE_SOURCE" "$FILE_DESTINATION";;(download)

f_download "$FILE_SOURCE" "$FILE_DESTINATION";;(help)

f_help;;(*)

echo "Wrong action!"f_helpexit 1

esac

Page 23: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 17

exit

1.6 Rezultati meritevV nadaljevanju sledijo rezultati meritev, ki smo jih opravili v okviru našegadela.

1.6.1 Prenos posameznih datotek na strežnikMeritev predstavlja prepustnost sistema pri oddajanju, ki smo jo dosegli obprenosu različnih velikosti datotek na strežnik. Predpostavili smo, da bo veči-noma prepustnost naraščala linearno, ter da bo trajanje prenosa sorazmerno zvelikostjo datoteke.

To meritev smo opravljali tako, da smo linearno povečevali velikosti generi-ranih datotek, eno za drugo poslali na strežnik, ter za vsako izmerili povprečnohitrost, pri kateri se je prenos vršil. Ta postopek merjenja smo večkrat pono-vili, vsakič neodvisno od prejšnjega merjenja, ter na koncu izračulani povpečjehitrosti pri vsaki velikosti datotek.

V grafu na sliki 1.2 opazimo podobnost logaritemski funkciji, kar nam napo-veduje, da se približujemo maksimalni hitrosti prenosa, ki nam jo je predpisalponudnik internetnih storitev. Pri večjih datotekah pa opazimo nekaj niha-nja v hitrostih, kar si lahko razlagamo z raznimi nepredvidljivimi razmerami inanomalijami po omrežju.

Slika 1.2: Prepustnost sistema pri oddajanju.

Page 24: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

18POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

Pri merjenju trajanja prenosa datotek na strežnik, smo se osredotočili napeščico datotek (1B, 10B, 100B, 1KB, 10KB, 100KB, 1MB, 10MB), katere smotemeljito obravnavali. Pri vsaki izmed izbranih velikost datotek, smo povprečiliveliko meritev trajanja, vsaka meritev pa je bila narejena časovno neodvisno odostalih, v naključnih dnevih tedna.

V grafu na sliki 1.3 je prikazan čas, ki smo ga potrebovali, za prenos dato-tek na strežnik. Rezultat je povprečje večih in med seboj neodvisnih meritev.Velik skok pri meritvi zadnje datoteke, je posledica omejitve hitrosti ponudnikainternetnih storitev.

Slika 1.3: Trajanje oddajanja.

Page 25: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 19

1.6.2 Prenos posameznih datotek s strežnikaSledeče meritve na sliki 1.4 predstavljajo kot rezultat prepustnost prenosa dato-tek s strežnika, torej pri prejemanju. Tu smo pričakovali nekoliko bolj prevdarnolinearnost med velikostjo in prepustnostjo.

Tudi tu smo pri meretvah uporabili linearno povečevane velikosti datotek,pri katerih smo eni za drugo izmerili poveprečno hitrost prenosa. Tudi ta celo-ten postopek merjenja smo velikokrat ponovili, vsakič neodvisno od prejšnjegamerjenja. Tako smo na koncu lahko izračunalni dober približek kot povprečjehitrosti pri vsaki izmed velikosti datotek.

Iz grafa lahko zopet razberemo podobnost lograitemske funkcije, le da v pri-merjavi s prenosom na strežnik, kasneje začne limitirati, saj se kasneje začnemopribliževati omejitvi hitrosti, predpisane s strani internetnega operaterja. Tuditu opazimo vplive zunanjega omrežja, predvsem pri meritvah ki so trajale dlječasa in posledično bile dalj časa izpostavljene.

Slika 1.4: Prepustnost sistema pri prejemanju.

Page 26: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

20POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

Pri merjenju trajanja prenosa datotek s strežnika, smo se prav tako osredo-točili na peščico datotek (1B, 10B, 100B, 1KB, 10KB, 100KB, 1MB, 10MB),katere smo temeljito obravnavali. Vsaki izmed izbranih velikost datotek, smopovprečili veliko meritev trajanja, pri čemer je bila vsaka meritev narejena ča-sovno neodvisno od ostalih in v naključnih dnevih tedna.

V tem grafu 1.5 so prikazani časi, ki so bili potrebni za prenos datotek s stre-žnika. Rezultat je povprečje večih in med seboj neodvisnih meritev. Večji skokpri meritvi zadnje datoteke, je prav tako posledica približevanju omejitvi hitro-sti ponudnika internetnih storitev. opazimo pa tudi nekoliko večji povprečni častrajanja pri bremenu velikosti 100B.

Slika 1.5: Trajanje prejemanja.

Page 27: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 21

1.6.3 Prenos posameznih datotek skozi tedenDa bi ugotovili trend, kako se vrši prenos na strežnik med tednom, smo seodločili vsak dan izmeriti čas prenosa na strežnik.

Meritev smo opravljali za vsako izmed obravnavanih velikost datotek (1B,10B, 100B, 1KB, 10KB, 100KB, 1MB), katerim smo pripisali graf. Meritev smoizvedli tako, da smo vsak dan večkrat, ob naključnih časih, izmerili trajanjeprenosa ene datoteke za drugo. Meritev je bila opravljena tudi neodvisno, zdveh različnih lokacij, kjer smo na koncu izračunali še povprečni skupni časobeh lokacij.

V grafu na sliki1.6 opazimo da se vse različne velikosti približno enakovrednepo trajanju prenosa, z razliko od datoteke velikost 1MB, ki nekoliko prevladujenad ostalimi. Opazimo lahko tudi, da se trajanje prenosa nekoliko poveča vsredi tedna.

Slika 1.6: Odzivnost sistema skozi teden pri oddajanju.

Na enak način smo tudi meritev pri prejemanju opravljali za vsako izmedobravnavanih velikost datotek (1B, 10B, 100B, 1KB, 10KB, 100KB, 1MB), ka-tere smo tudi prikazali z različnimi grafi. Tudi ta meritev je potekala tako, dasmo vsak dan v tednu večkrat, ob naključnih in med seboj neodvisnih časih, iz-merili trajanje prenosa ene datoteke za drugo. Meritev je bila opravljena, z dvehneodvisnih različnih lokacij, na koncu pa smo izračunali še povprečni skupni časobeh lokacij.

V grafu na sliki 1.7 lahko razvidimo, da se je prejemanje vršilo v skladu spričakovanji, namreč tudi tu datoteka velikosti 1MB nekoliko prevladuje. Opa-zimo pa tudi, da se datoteka velikosti 100B giblje nekoli nad preostalimi, karsmo opazili tudi v grafu 1.5.

Page 28: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

22POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

Slika 1.7: Odzivnost sistema skozi teden pri prejemanju.

1.6.4 Iskanje točke nasičenjaNaša predpostavka je, da bo sprva prepustnost naraščala sorazmerno z intenziv-nostjo prihajanja zahtev, saj strežnik ne bi smel imeti težav z relativno nizkimštevimo zahtevkov. Pričakujemo pa, da ob večanju števila zahtevkov, se boprepustnost s časoma, na določni točki, uklonila navzdol.

Za opazovanje odzivnosti in določitev točke nasičenja pri oddajanju smo siizbrali breme velikosti 100KB, katerega frekvenco smo subsekventno povečevaliz namenom, da bi strežnik obremenili. Meritev pri vsaki različni odredbi fre-kvence oddajanja zahtevkov, smo ponavlaji v neprekinjenem časovnem odseku,v katerem smo, kontinuitetno obremenjevali strežnik z velikim številom pono-vitve posameznega zahtevka, pri določeni intenzivnosti. S tem namenom smoskušali čim bomlj eliminiratii odklonske mereitve ter se kar se da dobro približalipovprečni vrenosti. Ko smo to naredili pri vsaki izmet določenih intenzivnostizahtevkov, smo celotno meritev še nekajkrat ponovili v različnih devih v te-dnu, ter ob neodvisnih časih. Končni rezultat smo tako dobili s povprečenjemdobljenih meritev ob neodvisnih časih.

Kot rezultat lahko razvidno tako na sliki 1.8 opazimo, kako se sprva prepu-stnost skoraj popolnoma proporcionalno povečuje s številom prihajanja inten-zivnostjo zahtev. Ob nekoliko večjem številu prihajanja zahtev pa lahko vidimo,da se približujemo točki, kjer se začne prepustnost ustaljevati. Ob še večanjemintenzivnosti zahtev pa vidimo, kako se prepustnost prične celo zmanjševati.

Page 29: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 23

Slika 1.8: Prepustnost pri prenosu na strežnik.

Pri opazovanju odzivnosti in določitev točke nasičenja pri prejemanju smosi sprva prav tako izbrali breme velikosti 100KB, katerega smo povečali tudina 1MB zaradi boljše opredelitve meritve. Z namenom, da bi strežnik obre-menili, smo postopoma povečevali intenzivnost prihajanja zahtev. Tudi tu smomeritev pri vsaki različni odredbi frekvence prejemanja zahtevkov, ponavlaji vneprekinjenem časovnem odseku, kjer smo neprestano obremenjevali strežnik zvelikim številom ponovitve posameznega zahtevka, pri določeni intenzivnosti. Stem želimo čim bomlj zmanjšati izven povprečne mereitve ter se kar se da dobropribližali povprečni vrenosti. Celotno meritev smo nato še nekajkrat ponoviliv različnih devih v tednu, ter ob neodvisnih časih in kot končni rezultat smopovprečili te dobljene meritve ob neodvisnih časih.

Podbno kot pri oddajanju, opazimo tudi na grafu 1.9 pri prejemanju sprvasorazmerno rast prepustnosti ob večanju intenzivnosti zahtev, nakar se pa obpribliževanju določene točke začne ustaljevati.

Page 30: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

24POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

Slika 1.9: Prepustnost pri prenosu s strežniks.

Še bolj podrobno vidimo to na sliki 1.10, kjer smo si za breme izbrali datotekovelikosti 1MB. S tem smo lahko nekoliko bolj obremenili strežnik pri prejemanjuin defnirali uklon prepustnosti. Podobno kot pri oddajanju, tudi tu opazimo,kako s še večanjem intenzivnosti zahtevkov prepustnost začne upadati.

Page 31: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVEDROPBOX (G. PRIMOŽIČ, S. STRBAN) 25

Slika 1.10: Prepustnost pri prenosu s strežnika.

1.6.5 Uporabniška izkušnja ob obremenitvi

Da bi ugotovili še uporabniško izkušnjo, med podobno obremenitvijo, smo seodločili simulirati takšno situacijo. Merjenja smo se lotili na tak način, da smoeksperiment razdelili na dva logična dela, katera smo ločili tudi lokacijsko.

Na enem delu je potekala analiza povprečne uporabniške izkušnje v delu sstoritvijo Dropbox[1]. To je delo s prenosi raznih datotek na strežnik in prenosinavzdol, uporabo predogleda naloženik datotek in morebitno sinhronizacijo. Tuskušamo ugotoviti kakovost uporabniške izkušnje, hitrost delovanja, odzivnostin vsesplošno izvajanje. Torej tu skušamo subjektivno ugotoviti kakšna bo našaizkušnja.

Na drugem delu pa se izvaja obremenjevanje, s katerim skušamo vplivatina delovanje in posledično na uporabniško izkušnjo. Obremenjevanje je po-dobne oblike kot pri iskanju točke nasičenja, torej z bremenom datoteke velikosti100KB, smo postopoma povečevali intenzivnost oddajanja zahtev.

Pri vsaki izbrani intenzivnosti oddajanja zahtev smo opazovali celotno opre-deljeno uporabniško izkušnjo. Opazovali smo hitrost delovanja, odzivnost sis-tema na naše ukaze in če so bili izvršeni.

Sprva smo naredili kontrolni eksperiment, ki nam je dal grobo idejo o nevtral-nem delovanju. Ugotovili pa smo, da neglede na intenzivnost oddajanja zahtevvečina lastnosti ni bila dotaknjena. Torej ni bilo opazne razlike v sinronizacijidatotek, ali njihovih predogledih na strežniku, prav tako se ni bistveno spre-menila hitrost prenosa s strežnika. Kar pa je bilo spremenjeno, pa so hitrostiprenosov na strežnik in sicer toko bolj, kot smo povečevali intenzivnost zahtev.Ob takem delovanju je postala tudi slaba odzivnost strežnika na različne ukaze

Page 32: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

26POGLAVJE 1. ANALIZA ZMOGLJIVOSTI OBLAČNE STORITVE

DROPBOX (G. PRIMOŽIČ, S. STRBAN)

in njihovo občasno nezaznavanje. Pri 5 zahtevkov oddajanja, pri omenjenembremenu na seknudo, smo imeli še sprejemljivo uporabnis"ko izkušnjo, medtemko pri 10, smo naleteli tudi na zavrnitve prenosov na strežnik, kar nam sevedakvari uporabniško izkušnjo.

1.7 Plan dela za naslednji tedenAnaliza projekta druge dodeljene skupine.

Page 33: Analizazmogljivostioblaďż˝nihin streďż˝niďż˝kihstoritevlrss.fri.uni-lj.si/sl/teaching/zzrs/lectures/Recenzije/5_Skupina.pdf · Skripta1.2jenamjenanatančniopredelitvidatotek,

Literatura

[1] “Dropbox: Dropbox cloud service.” https://www.dropbox.com/tour/,March 2017.

[2] “Perfkit benchmarker: Perfkit benchmarker - open source benchmarkingtool.” http://googlecloudplatform.github.io/PerfKitBenchmarker/, March2017.

[3] “iperf: iperf - speed test tool for tcp, udp and sctp.” https://iperf.fr/, March2017.

[4] “Bash (unix shell).” https://en.wikipedia.org/wiki/Bash_(Unix_shell),April 2017.

[5] “Curl: curl - the man page.” https://curl.haxx.se/docs/manpage.html, April2017.

[6] “ping (networking utility).” https://en.wikipedia.org/wiki/Ping_(networking_utility),April 2017.

[7] “Dropbox: Dropbox developer blog - documenation for dropbox apis.” ht-tps://blogs.dropbox.com/developers/, April 2017.

27