quick bugfixes

This commit is contained in:
Torma Kristóf 2019-12-10 18:15:04 +01:00
parent 8afc2f44f2
commit ec4815b08b
Signed by: tormakris
GPG Key ID: DC83C4F2C41B1047
5 changed files with 32 additions and 36 deletions

View File

@ -2,7 +2,7 @@
kile_livePreviewEnabled=true
kile_livePreviewStatusUserSpecified=true
kile_livePreviewTool=LivePreview-XeLaTeX
lastDocument=content/results.tex
lastDocument=content/introduction.tex
[document-settings,item:../../thesis-template-latex/src/thesis.tex]
Bookmarks=
@ -160,12 +160,12 @@ TextFolding=[]
ViMarks=
[view-settings,view=0,item:content/abstract.tex]
CursorColumn=0
CursorLine=24
CursorColumn=45
CursorLine=37
Dynamic Word Wrap=false
JumpList=
TextFolding=[]
ViMarks=
ViMarks=.,37,164,[,37,157,],37,164
[view-settings,view=0,item:content/acknowledgement.tex]
CursorColumn=0
@ -184,8 +184,8 @@ TextFolding=[]
ViMarks=.,181,0,[,181,0,],181,9
[view-settings,view=0,item:content/closing.tex]
CursorColumn=0
CursorLine=12
CursorColumn=253
CursorLine=14
Dynamic Word Wrap=false
JumpList=
TextFolding=[]
@ -200,28 +200,28 @@ TextFolding=[]
ViMarks=.,3,171,[,3,167,],3,171
[view-settings,view=0,item:content/introduction.tex]
CursorColumn=4
CursorLine=7
CursorColumn=126
CursorLine=13
Dynamic Word Wrap=false
JumpList=
TextFolding=[]
ViMarks=.,0,0,[,0,0,],0,26
ViMarks=.,13,125,[,13,57,],13,125
[view-settings,view=0,item:content/preparation.tex]
CursorColumn=0
CursorLine=103
CursorColumn=61
CursorLine=134
Dynamic Word Wrap=false
JumpList=
TextFolding=[]
ViMarks=.,102,1191,[,102,1150,],102,1191
ViMarks=.,123,551,[,123,542,],123,551
[view-settings,view=0,item:content/results.tex]
CursorColumn=0
CursorLine=11
CursorColumn=19
CursorLine=164
Dynamic Word Wrap=false
JumpList=
TextFolding=[]
ViMarks=.,49,0,[,49,0,],49,0
ViMarks=.,140,74,[,140,62,],140,74
[view-settings,view=0,item:content/theory.tex]
CursorColumn=0

View File

@ -1,13 +1,3 @@
@report{Jeney,
author = {G{\'a}bor Jeney},
institution = {Budapesti M{\H u}szaki {\'e}s Gazdas{\'a}gtudom{\'a}nyi Egyetem, H{\'\i}rad{\'a}stechnikai Tansz{\'e}k},
location = {Budapest},
note = {\url{http://www.mcl.hu/~jeneyg/kinezet.pdf}},
title = {Hogyan n{\'e}z ki egy ig{\'e}nyes dokumentum? {N}{\'e}h{\'a}ny sz{\'o}ban az alapvet{\H o} tipogr{\'a}fiai szab{\'a}lyokr{\'o}l},
type = {techreport},
year = {2014}
}
@misc{dockervirt,
author = {Nick Janetakis},
howpublished = {\url{https://nickjanetakis.com/blog/comparing-virtual-machines-vs-docker-containers}},
@ -364,3 +354,9 @@
title = {Resource Types}
}
@misc{cloudlab,
howpublished = {https://cloudlab.us/technology.php},
note = {Megtekintve 2019-12-04},
title = {Cloudlab - Software Technology}
}

View File

@ -12,7 +12,7 @@ Napjainkban egyre elterjedtebb a webes alkalmazások fejlesztése során kisebb
Fennáll viszont a probléma, hogy az egyes részek akkor is készen állnak kérések fogadására, ha nincs rájuk szükség, ezzel feleslegesen foglalva erőforrásokat. Szintúgy gyakori probléma a váratlanul megjelenő, nagy terhelésre a lassú válaszreakció. Ez a probléma legtöbbször nem egy rosszul elkészített alkalmazásból adódik, hanem a futtató környezet adottsága.
A Knative ezeket a problémákat aldja meg. Lehetővé teszi az egyes részegységek nullára skálázását, valamint képesek szolgáltatások gyors skálázására a megjelenő konkurens kérésekkel arányosan.
A Knative ezt a problém\'at oldja meg. Lehetővé teszi az egyes részegységek nullára skálázását, valamint képesek szolgáltatások gyors skálázására a megjelenő konkurens kérésekkel arányosan.
A szakdolgozat keretein belül a Knative ezen funkciójának működését vizsgálom. Ehhez kidolgoztam m\'er\'eseket, melyek betekint\'est ny\'ujtanak a rendszer belső műk\"od\'es\'ebe. Feladatom r\'eszek\'ent a kidolgozott m\'er\'eseket, valamint azok eredm\'enyeinek al\'izis\'et automatiz\'altam, ami felgyors\'itja az eredm\'enyek \'ertelmez\'es\'et.

View File

@ -3,11 +3,11 @@
\chapter{\bevezetes}
%----------------------------------------------------------------------------
Feladatom a Knative keretrendszer automatiz\'alt telep\'it\'ese, majd sk\'al\'az\'asi k\'epess\'eg\'enek vizsg\'alata, aminek r\'eszek\'ent l\'etre kell hozzak f\"uggv\'enyeket, melyek seg\'its\'eg\'evel a vizs\'g\'alat elv\'egezhető. Nincs specifik\'alva milyen infrastrukt\'ur\'at haszn\'aljak, viszont nem rendelkezem a feladathoz sz\"uks\'eges nagy teljes\'itm\'enyű sz\'am\'it\'og\'epekkel, ez\'ert a Cloudlab \'altal biztos\'itott szervereken kell dolgozzak.
Feladatom a Knative keretrendszer automatiz\'alt telep\'it\'ese, majd sk\'al\'az\'asi k\'epess\'eg\'enek vizsg\'alata, aminek r\'eszek\'ent l\'etre kell hozzak f\"uggv\'enyeket, melyek seg\'its\'eg\'evel a vizs\'g\'alat elv\'egezhető. Nincs specifik\'alva milyen infrastrukt\'ur\'at haszn\'aljak, viszont nem rendelkezem a feladathoz sz\"uks\'eges nagy teljes\'itm\'enyű sz\'am\'it\'og\'epekkel, ez\'ert a Cloudlab \cite{cloudlab} \'altal biztos\'itott szervereken kell dolgozzak.
Mivel 2017-\'ota tagja vagyok a Sch\"onherz Koll\'egiumban műk\"odő Koll\'egiumi Sz\'am\'it\'astechnikai K\"ornek, ahol k\"ul\"onf\'ele Linux alap\'u rendszerek, valamint a koll\'egiumi h\'al\'ozat \"uzemeltet\'es\'evel foglalkozom, ez\'ert Linuxos \'es h\'al\'ozatos alaptud\'asom a szakdolgozat kezd\'esekor jelentős volt.
Kont\'eneriz\'aci\'oval \'es a Dockerrel a T\'emalaborat\'orium tant\'argy keretein bel\"ul ismerkedtem meg, az\'ota napi szinten haszn\'alom. Mivel k\"ul\"on\"osen \'erdekel a szoftverfejleszt\'essel kapcsolatos folyamatok automatiz\'aci\'oja, ez\'ert igyekszem olyan folyamatokat is automatiz\'alni, melyeket a feladatom nem specifik\'alt, ilyen p\'eld\'aul a m\'er\'esi eredm\'enyekből kezdetleges grafikonok gener\'al\'asa. Az erre kialak\'itott rendszer m\'eg kezd\'es előtt megfogalmaz\'odott bennem. Az automatiz\'aci\'ohoz Python \'es bash nyelven \'irt programokat \'es szkripteket haszn\'altam, ugyanis ezeket a nyelveket ismerem.
Kont\'eneriz\'aci\'oval \'es a Dockerrel a T\'emalaborat\'orium tant\'argy keretein bel\"ul ismerkedtem meg, az\'ota napi szinten haszn\'alom. Mivel k\"ul\"on\"osen \'erdekel a szoftverfejleszt\'essel kapcsolatos folyamatok automatiz\'aci\'oja, ez\'ert igyekszem olyan folyamatokat is automatiz\'alni, melyeket a feladatom nem specifik\'alt, ilyen p\'eld\'aul a m\'er\'esi eredm\'enyekből kezdetleges grafikonok gener\'al\'asa. Az erre kialak\'itott rendszer m\'eg a munka kezd\'ese előtt megfogalmaz\'odott bennem. Az automatiz\'aci\'ohoz Python \'es bash nyelven \'irt programokat \'es szkripteket haszn\'altam, ugyanis ezeket a nyelveket ismerem.
A Knative-val m\'eg nem dolgoztam, ez\'ert a munk\'at irodalomkutat\'assal kezdtem, eg\'esz pontosan a sk\'al\'az\'od\'asi lehetős\'egek megismer\'es\'evel, valamint a belső rendszerek felt\'erk\'epez\'es\'evel. Ez ut\'an l\'attam neki a telep\'it\'es automatiz\'al\'as\'anak \'es a f\"uggv\'enyek l\'etrehoz\'as\'anak \'es a m\'er\'esek kidolgoz\'as\'anak.

View File

@ -24,14 +24,14 @@ Az \ref{fig:jmeter-for-otodik-chart} \'es \aref{fig:knative-for-negyedik-chart}
\begin{figure}[!ht]
\centering
\includegraphics[width=120mm, keepaspectratio]{figures/jmeter-for-otodik-chart.png}
\caption{Konstans terhel\'ese echo t\'ipus\'u f\"uggv\'enynek Jmeter eszk\"ozzel}
\caption{Echo t\'ipus\'u f\"uggv\'eny konstans terhel\'ese Jmeter eszk\"ozzel}
\label{fig:jmeter-for-otodik-chart}
\end{figure}
\begin{figure}[!ht]
\centering
\includegraphics[width=120mm, keepaspectratio]{figures/knative-for-negyedik-chart.png}
\caption{Konstans terhel\'ese echo t\'ipus\'u f\"uggv\'enynek Hey eszk\"ozzel}
\caption{Echo t\'ipus\'u f\"uggv\'eny konstans terhel\'ese Hey eszk\"ozzel}
\label{fig:knative-for-negyedik-chart}
\end{figure}
@ -42,14 +42,14 @@ Az \ref{fig:hatodik-isprime-knative-for-chart} \'es \aref{fig:jmeter-hatodik-py-
\begin{figure}[!ht]
\centering
\includegraphics[width=120mm, keepaspectratio]{figures/hatodik-isprime-knative-for-chart.png}
\caption{Konstans terhel\'ese pr\'imsz\'amol\'o f\"uggv\'enynek Hey eszk\"ozzel}
\caption{Pr\'imsz\'amol\'o f\"uggv\'eny konstans terhel\'ese Hey eszk\"ozzel}
\label{fig:hatodik-isprime-knative-for-chart}
\end{figure}
\begin{figure}[!ht]
\centering
\includegraphics[width=120mm, keepaspectratio]{figures/jmeter-hatodik-py-chart.png}
\caption{Konstans terhel\'ese pr\'imsz\'amol\'o f\"uggv\'enynek Jmeter eszk\"ozzel}
\caption{Pr\'imsz\'amol\'o f\"uggv\'eny konstans terhel\'ese Jmeter eszk\"ozzel}
\label{fig:jmeter-hatodik-py-chart}
\end{figure}
@ -76,12 +76,12 @@ Az \ref{fig:go-start-chart} \'abr\'an l\'athat\'o az echo t\'ipus\'u f\"uggv\'en
\section{Knative rendszerbe telep\'itett f\"uggv\'enyek sk\'al\'az\'od\'asa n\"ovekedő terhel\'es alatt}
Az \ref{fig:hatodik-hello-knative-climb-chart} ábrán látható az echo típusú függvényre egyre növekvő terhelés, valamint a Knative Autoscaler rendszer e mérés alatti belső állapota. A terhelés növelését a hey mérőeszközben egyre több connection objektum használta által értem el. Jól látszik, hogy az ObservedStableConcurrency egy lassan változó érték, a mérés végére töredékét érte el annak az értéknek, amit az egyenletes terhelésű mérések során elért. Szintén látható a Podok számából, hogy pánik állapotot sem váltott ki a mérés. Erre nem is lehetett számítani, hiszen a használt konkurencia érték sosem növekedett duplájára hat másodperces időtartam alatt.
Az \ref{fig:hatodik-hello-knative-climb-chart} ábrán látható az echo típusú függvényre egyre növekvő terhelés, valamint a Knative Autoscaler rendszer e mérés alatti belső állapota. A terhelés növelését a hey mérőeszközben egyre több connection objektum használata által értem el. Jól látszik, hogy az ObservedStableConcurrency egy lassan változó érték, a mérés végére töredékét érte el annak az értéknek, amit az egyenletes terhelésű mérések során elért. Szintén látható a Podok számából, hogy pánik állapotot sem váltott ki a mérés. Erre nem is lehetett számítani, hiszen a használt konkurencia érték sosem növekedett duplájára hat másodperces időtartam alatt.
\begin{figure}[!ht]
\centering
\includegraphics[width=120mm, keepaspectratio]{figures/hatodik-hello-knative-climb-chart.png}
\caption{Emelkedő terhel\'ese echo t\'ipus\'u f\"uggv\'enynek Hey eszk\"ozzel}
\caption{Echo t\'ipus\'u f\"uggv\'eny emelkedő terhel\'ese Hey eszk\"ozzel}
\label{fig:hatodik-hello-knative-climb-chart}
\end{figure}
@ -90,7 +90,7 @@ A korábbi mérések alapján számítottam rá, hogy a prímszámoló függvén
\begin{figure}[!ht]
\centering
\includegraphics[width=120mm, keepaspectratio]{figures/hatodik-isprime-knative-climb-chart.png}
\caption{Emelkedő terhel\'ese pr\'imsz\'amol\'o f\"uggv\'enynek Hey eszk\"ozzel}
\caption{Pr\'imsz\'amol\'o f\"uggv\'eny emelkedő terhel\'ese Hey eszk\"ozzel}
\label{fig:hatodik-isprime-knative-climb-chart}
\end{figure}
@ -116,7 +116,7 @@ Ahogy \aref{fig:kubeless-isprime} ábrán látszik, a Kubeless skálázódása t
\label{fig:kubeless-isprime}
\end{figure}
Sajnos, a Kubeless esetében többször előfordult, hogy csak egy Podot hozott létre az egész mérés során. Ez nem függött attól, hogy mennyi ideig tartott a mérés. Miután véget ért a terhelés, rövid időn belül létre jött a következő Pod. Ennek okát próbáltam kideríteni, egyik hipotézisem az volt, hogy nincs elég cpu ideje a számítógépnek létrehozni a Podot, de ezt kézi megfigyeléseim során elvetettem. Másik probléma a Kubeless esetében, hogy az Nginx Ingress Controller minden beérkező kérésről naplóbejegyzést ír. Ennek következményeképp a Podja Evictelődik, mert túl sok tárterületet használ. A degrad\'al\'odott teljes\'itm\'eny, melyet ez esetben lehetett tapasztalni, \aref{fig:jmeter-kubeless-hello-hatodik-rps-chart} \'abr\'an l\'athat\'o.
Sajnos, a Kubeless esetében többször előfordult, hogy csak egy Podot hozott létre az egész mérés során. Ez nem függött attól, hogy mennyi ideig tartott a mérés. Miután véget ért a terhelés, rövid időn belül létre jött a következő Pod. Ennek okát próbáltam kideríteni, egyik hipotézisem az volt, hogy nincs elég cpu ideje a számítógépnek létrehozni a Podot, de ezt kézi megfigyeléseim során elvetettem. Másik probléma a Kubeless esetében, hogy az Nginx Ingress Controller minden beérkező kérésről naplóbejegyzést ír. Ennek következményeképp a Podja Evicted \'allapotba ker\"ul, mert túl sok tárterületet használ. A degrad\'al\'odott teljes\'itm\'eny, melyet ez esetben lehetett tapasztalni, \aref{fig:jmeter-kubeless-hello-hatodik-rps-chart} \'abr\'an l\'athat\'o.
\begin{figure}[!ht]
\centering