ИЕП/Септембар 2021 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Postavka septembarskog roka, prepis većinom od Dušana)
 
 
(Није приказано 14 међуизмена 2 корисника)
Ред 1: Ред 1:
{{tocright}}
{{tocright}}
{{нерешено}}
'''Испит у септембарском року 2021. године''' одржан је 17. септембра. Били су доступни материјали са предавања и трајао је 90 минута. Исти задаци појавили су се на септембарском испиту 2022. године, одржаног 21. септембра.
'''Испит у септембарском року 2021. године'' одржан је 17. септембра. Радио се у вежбанкама и били су доступни материјали са предавања.


<div class="calculator">
== Поставка ==
== Поставка ==
Компанија може користити опремљену сервер салу за опслуживање свог интернет пословање<sup>[sic]</sup> са клијентима из целог света. Сервер сала садржи:
Компанија може користити опремљену сервер салу за опслуживање свог интернет пословања са клијентима из целог света. Сервер сала садржи:
{| class="wikitable"
{| class="wikitable"
! Компонента   !! Јединична цена !! Потрошња KW/h !! Карактеристике                   !! Количина
! Компонента
! Јединична цена
! Потрошња KW/h
! Карактеристике
! Количина
|-
|-
| Рек орман   || 1000           || 0             || 42U                             || 2
| Рек орман
| <span data-variable="rek_cena" data-expression="1000"></span>
| <span data-variable="rek_potrosnja" data-expression="0"></span>
| 42U
| <span data-variable="rek_broj" data-expression="2"></span>
|-
|-
| UPS         || 1500           || 0,25         || 10KVA, 10 минута, 3U             || 6
| UPS
| <span data-variable="ups_cena" data-expression="1500"></span>
| <span data-variable="ups_potrosnja" data-expression="0.25"></span>
| 10KVA, 10 минута, 3U
| <span data-variable="ups_broj" data-expression="6"></span>
|-
|-
| Шасија       || 4000           || 0,40         || 12 сервера, 4U                   || 5
| Шасија
| <span data-variable="sasija_cena" data-expression="4000"></span>
| <span data-variable="sasija_potrosnja" data-expression="0.40"></span>
| 12 сервера, 4U
| <span data-variable="sasija_broj" data-expression="5"></span>
|-
|-
| Блеид сервер || 4500           || 0,30         || 10 језгра                        || 50
| Блеид сервер
| <span data-variable="server_cena" data-expression="4500"></span>
| <span data-variable="server_potrosnja" data-expression="0.30"></span>
| 10 језгара
| <span data-variable="server_broj" data-expression="50"></span>
|-
|-
| Фајервол     || 8800           || 0,40         || 40 MB у секунди, 2U             || 2
| Фајервол
| <span data-variable="firewall_cena" data-expression="8800"></span>
| <span data-variable="firewall_potrosnja" data-expression="0.40"></span>
| 40 MB у секунди, 2U
| <span data-variable="firewall_broj" data-expression="2"></span>
|-
|-
| Балансер     || 7000           || 0,25         || 20000 захтева у секунди, 2U     || 2
| Балансер
| <span data-variable="balancer_cena" data-expression="7000"></span>
| <span data-variable="balancer_potrosnja" data-expression="0.25"></span>
| 20000 захтева у секунди, 2U
| <span data-variable="balancer_broj" data-expression="2"></span>
|-
|-
| Свич         || 2300           || 0,10         || 48 порта 1Gb, + 2 порта 10Gb, 2U || 2
| Свич
| <span data-variable="switch_cena" data-expression="2300"></span>
| <span data-variable="switch_potrosnja" data-expression="0.10"></span>
| 48 порта 1Gb, + 2 порта 10Gb, 2U
| <span data-variable="switch_broj" data-expression="2"></span>
|-
|-
| Сториџ       || 9100           || 0,45         || 16 TB, 2U                       || 1
| Сториџ
| <span data-variable="storage_cena" data-expression="9100"></span>
| <span data-variable="storage_potrosnja" data-expression="0.45"></span>
| 16 TB, 2U
| <span data-variable="storage_broj" data-expression="1"></span>
|}
|}
'''Напомена:''' Узети сигурности фактор 3,5. Конфигурација система је таква да прво долази фарјевол и балансер који су смештени испред веб сервера (који даље прослеђује све динамичке захтеве), онда долази други фајерфол, иза кога долазе апликативни сервер, сервер базе података и сториџ. Однос снага је 1.41. Однос долазног и одлазног саобраћаја износи 0,15.
'''Напомена:''' Узети сигурносни фактор 3,5. Конфигурација система је таква да прво долази фајервол и балансер који су смештени испред веб сервера (који даље прослеђује све динамичке захтеве), онда долази други фајервол, иза кога долазе апликативни сервер, сервер базе података и сториџ. Однос снага је 1.41. Однос долазног и одлазног саобраћаја износи 0,15.


Планирани начин рада целокупне опреме је 24 сати дневно, 7 дана у недељи. У сваком тренутку рада сервер сале, неопходно је да постоји дежуран инжењер. Познато је да цена kWh износи 0,05. За потребе сервер сале је неопходан простор од 4 метара квадратних по реку. Изнајмљивање простора се плаћа 25 по квадрату месечно. За повезивање сервер сале на интернет користи се веза брзине 10Gbs по цени од 3000 месечно. Плата дежурног инжењера за осмочасовно радно време је 1500 месечно. За потребе опремања сервер сале, компанија је узела позајмицу са фиксном каматном ратом од 5% на годишњем нивоу. Преиод амортизације опреме је 3 године.
Планирани начин рада целокупне опреме је 24 сати дневно, 7 дана у недељи. У сваком тренутку рада сервер сале, неопходно је да постоји дежуран инжењер. Познато је да цена kWh износи 0,05. За потребе сервер сале је неопходан простор од 4 метара квадратних по реку. Изнајмљивање простора се плаћа 25 по квадрату месечно. За повезивање сервер сале на интернет користи се веза брзине 10Gbs по цени од 3000 месечно. Плата дежурног инжењера за осмочасовно радно време је 1500 месечно. За потребе опремања сервер сале, компанија је узела позајмицу са фиксном каматном ратом од 5% на годишњем нивоу. Период амортизације опреме је 3 године.
# Колико износе капитална улагања (CAPEX) за опремање описане сервер сале на основу података датих у табели. Занемарити потребу за резервним деловима и расхладним системом.
# Колико износе капитална улагања (CAPEX) за опремање описане сервер сале на основу података датих у табели. Занемарити потребу за резервним деловима и расхладним системом.
# Колико износе опреативна улагања (OPEX) за месец дана планираног начина рада сервер сале?
# Колико износе оперативна улагања (OPEX) за месец дана планираног начина рада сервер сале?
# Сајт компаније равномерно током дана посећују посетиоци, при чему сваки посетилац сајт посећује 10 минута и за то време посети у просеку 8 страница. Да би се формирала једна страница, потребно је направити 17 захтева ка статичким елементима страница и 10 ка динамичким елементима странице. Код сваког динамичког елемента у просеку се 1,4 пута приступа бази података. Унутар виртуелне машине на једном језгру време обраде статичких захтева износи 0,25 ms, динамичких 1,5 ms, а приступ бази траје у просеку 5,5 ms. Веб сервер, апликативни сервер и сервер базе података се налазе на различитим физичким блеид серверима. Величина одговора на статичке захтеве износи 18 KB, динамичке 2,0 KB а базе 6.1 KB. Колико максимално посетилаца може подржати дата сервер сала?
# Сајт компаније равномерно током дана посећују посетиоци, при чему сваки посетилац сајт посећује 10 минута и за то време посети у просеку 8 страница. Да би се формирала једна страница, потребно је направити 17 захтева ка статичким елементима страница и 10 ка динамичким елементима странице. Код сваког динамичког елемента у просеку се 1,4 пута приступа бази података. Унутар виртуелне машине на једном језгру време обраде статичких захтева износи 0,25 ms, динамичких 1,5 ms, а приступ бази траје у просеку 5,5 ms. Веб сервер, апликативни сервер и сервер базе података се налазе на различитим физичким блеид серверима. Величина одговора на статичке захтеве износи 18 KB, динамичке 2,0 KB а базе 6.1 KB. Колико максимално посетилаца може подржати дата сервер сала?
# У случају максималног броја посетиоца која ће прва компонента доћи до максималног оптерећења?


== Решење ==
== Решење ==
=== CAPEX ===
=== CAPEX ===
Капитални трошкови нам се овде састоје само од опреме коју купујемо инцијално. У табели су излистане јединична цена и количина за сваку компоненту, па само треба да их саберемо:
<math>CAPEX = \sum_{i = 1}^{8} cena_i \cdot kolicina_i = </math> <span data-variable="CAPEX" data-expression="rek_cena rek_broj * ups_cena ups_broj * sasija_cena sasija_broj * server_cena server_broj * firewall_cena firewall_broj * balancer_cena balancer_broj * switch_cena switch_broj * storage_cena storage_broj * + + + + + + +"></span>
=== OPEX ===
=== OPEX ===
У оперативне трошкове нам овде спадају струја, отплата кредита, плате запослених, изнајмљивање простора и изнајмљивање интернета.
* '''Струја:'''
** Укупан број критичних киловати по сату: <math>kWh_{total} = \sum_{i = 1}^{8} potrosnja_i \cdot kolicina_i =</math> <span data-variable="kWh" data-expression="rek_potrosnja rek_broj * ups_potrosnja ups_broj * sasija_potrosnja sasija_broj * server_potrosnja server_broj * firewall_potrosnja firewall_broj * balancer_potrosnja balancer_broj * switch_potrosnja switch_broj * storage_potrosnja storage_broj * + + + + + + +">
** Да бисмо добили месечну цену струје, треба израчунати број критичних киловати по сату, помножити са односом снага (PUE), бројем сати у месецу, и цени по киловату.
** <math>struja = kWh_{total} \cdot 24 \cdot 30 \cdot 1.41 \cdot 0.05 =</math> <span data-variable="struja" data-expression="kWh 24 30 1.41 0.05 * * * *"></span>
* '''Отплата:'''
** Месечна каматна стопа: <math>K = 0.05 / 12 =</math> <span data-variable="K" data-expression="0.05 12 /"></span>
** Укупан број рата: <math>N = 3 \cdot 12 =</math> <span data-variable="N" data-expression="3 12 *"></span>
** Цена месечне отплате: <math>otplata = \frac{K \cdot CAPEX}{1 - (1 + K)^{-N}} = </math> <span data-variable="otplata" data-expression="K CAPEX * 1 1 K + 0 N - ^ - /"></span>
* '''Плате:'''
** Сваки радник може да ради 8 часова дневно, тако да може да покрије трећину дана. По Закону о раду, радници не смеју да раде више од 40 сати недељно. Због овога, потребно нам је барем 5 радника како бисмо покрили целу недељу.
** <math>plate = 5 \cdot 1500 =</math> <span data-variable="plate" data-expression="5 1500 *"></span>
* '''Простор:''' Два река од 4 квадратна метра, 25 по метру квадратном укупно чини <math>prostor = 4 \cdot 2 \cdot 25 =</math> <span data-variable="prostor" data-expression="2 4 25 * *"></span>
* '''Интернет:''' Фиксна цена од <span data-variable="internet" data-expression="3000"></span> месечно.
* <math>OPEX = struja + otplata + plate + prostor + internet =</math> <span data-variable="OPEX" data-expression="struja otplata plate prostor internet + + + +"></span>
=== Посетиоци ===
=== Посетиоци ===
Овај задатак је мало другачији него што је рађено на предавању, у смислу да нам је дата инфраструктура и тражи нам се број корисника уместо да нам је дат број корисника и тражи се инфраструктура. Због тога, морамо да одредимо колико одређени делови система могу да приме конкурентних корисника. Могуће слабе тачке (''bottleneck'') наше инфраструктуре су:
* Процесорски капацитет балансера
* Процесорски капацитет сервера
* Мрежни капацитет базе
* Мрежни капацитет фајервола
* Мрежни капацитет осталих сервера
Проверу мрежног капацитета осталих сервера можемо да изоставимо јер је ограничење на фајерволу (40 MB/s) много веће него ограничење одлазног саобраћаја са сервера (10Gbps).
Капацитет делова система ћемо гледати у броју страница по секунди (<math>sps</math>) које могу да опслуже.
==== Фајервол ====
Фајервол је компонента система која филтрира '''долазни''' саобраћај. Ограничење на фајерволу је изражено у томе што може да филтрира <span data-variable="firewall_kapacitet" data-expression="40"></span> MB/s улазног саобраћаја. Количина долазног саобраћаја нам није дата у задатку, али нам је дато да је однос долазног и одлазног саобраћаја <span data-variable="odnos_dolazni_odlazni" data-expression="0.15"></span> и колико се тачно преноси одлазног саобраћаја кад корисник направи захтев ка страници:
* Статичких захтева по страници: <span data-variable="staticki_zahtevi_po_stranici" data-expression="17"></span>
* Динамичких захтева по страници: <span data-variable="dinamicki_zahtevi_po_stranici" data-expression="10"></span>
* Саобраћај ка бази се не рачуна овде зато што корисници не праве захтеве директно ка бази и саобраћај од базе не излази ван граница серверске сале. Мрежни капацитет базе се рачуна одвојено.
* Број килобајта по статичком захтеву: <span data-variable="staticki_zahtev_kb" data-expression="18"></span>
* Број килобајта по динамичком захтеву: <span data-variable="dinamicki_zahtev_kb" data-expression="2"></span>
* Одлазни саобраћај у килобајтима за једну страницу: <math>odlazni\_saobracaj\_kb\_stranica = staticki\_zahtevi\_po\_stranici \cdot staticki\_zahtev\_kb + dinamicki\_zahtevi\_po\_stranici \cdot dinamicki\_zahtev\_kb =</math> <span data-variable="odlazni_saobracaj_kb_stranica" data-expression="staticki_zahtevi_po_stranici staticki_zahtev_kb * dinamicki_zahtevi_po_stranici dinamicki_zahtev_kb * +"></span>
* Долазни саобраћај у килобајтима за једну страницу: <math>dolazni\_saobracaj\_kb = odlazni\_saobracaj\_kb\_stranica \cdot odnos\_dolazni\_odlazni =</math> <span data-variable="dolazni_saobracaj_kb" data-expression="odlazni_saobracaj_kb_stranica odnos_dolazni_odlazni *"></span>
* Број страница које могу да прођу кроз фајервол за једну секунду: <math>sps\_firewall = \frac{firewall\_kapacitet \cdot 1024}{dolazni\_saobracaj\_kb} =</math> <span data-variable="sps_firewall" data-expression="firewall_kapacitet 1024 * dolazni_saobracaj_kb /"></span>
==== Балансер ====
Балансер је компонента која може да опслужи <span data-variable="balancer_kapacitet" data-expression="20000"></span> захтева по секунди. У ове захтеве се не рачунају захтеви ка бази јер они не пролазе кроз балансер.
* Број захтева по страници: <math>zahtevi\_po\_stranici = staticki\_zahtevi\_po\_stranici + dinamicki\_zahtevi\_po\_stranici =</math> <span data-variable="zahtevi_po_stranici" data-expression="staticki_zahtevi_po_stranici dinamicki_zahtevi_po_stranici +"></span>
* Број страница које могу да прођу кроз два балансера за једну секунду: <math>sps\_balancer = \frac{2 \cdot balancer\_kapacitet}{zahtevi\_po\_stranici} =</math> <span data-variable="sps_balancer" data-expression="balancer_kapacitet 2 * zahtevi_po_stranici /"></span>
==== Сервери ====
Сервери се деле на три типа: веб сервер, апликативни сервер и сервер базе података. Не знамо колико сервера имамо од сваке групе, али можемо да израчунамо колико једно језгро процесора може да опслужи захтева потребних за сервирање једне странице у једној секунди.
* Време обраде веб сервера по страници: <math>vreme\_obrade\_veb\_server\_ms = staticki\_zahtevi\_po\_stranici \cdot 0.25ms =</math> <span data-variable="vreme_obrade_veb_server_ms" data-expression="staticki_zahtevi_po_stranici 0.25 *"></span>
* Време обраде апликативног сервера по страници: <math>vreme\_obrade\_aplikativni\_server\_ms = dinamicki\_zahtevi\_po\_stranici \cdot 1.5ms =</math> <span data-variable="vreme_obrade_aplikativni_server_ms" data-expression="dinamicki_zahtevi_po_stranici 1.5 *"></span>
* Време обраде сервера базе података по страници: <math>vreme\_obrade\_baza\_ms = dinamicki\_zahtevi\_po\_stranici \cdot 1.4 \cdot 5.5ms =</math> <span data-variable="vreme_obrade_baza_ms" data-expression="dinamicki_zahtevi_po_stranici 1.4 5.5 * *"></span>
* Број "страница" по секунди сервираних од једног језгра веб сервера: <math>sps\_veb\_server = \frac{1000}{vreme\_obrade\_veb\_server\_ms} =</math> <span data-variable="sps_veb_server" data-expression="1000 vreme_obrade_veb_server_ms /"></span>
* Број "страница" по секунди сервираних од једног језгра апликативног сервера: <math>sps\_aplikativni\_server = \frac{1000}{vreme\_obrade\_aplikativni\_server\_ms} =</math> <span data-variable="sps_aplikativni_server" data-expression="1000 vreme_obrade_aplikativni_server_ms /"></span>
* Број "страница" по секунди сервираних од једног језгра веб сервера: <math>sps\_baza = \frac{1000}{vreme\_obrade\_baza\_ms} =</math> <span data-variable="sps_baza" data-expression="1000 vreme_obrade_baza_ms /"></span>
* Број потребних типова сервера очигледно можемо да одредимо на основу реципрочне вредности страница по секунди које могу да сервирају. Прво рачунамо збир тих реципрочних вредности: <math>reciprocni\_zbir\_sps = \frac{1}{sps\_veb\_server} + \frac{1}{sps\_aplikativni\_server} + \frac{1}{sps\_baza} =</math> <span data-variable="reciprocni_zbir_sps" data-expression="1 sps_veb_server / 1 sps_aplikativni_server / 1 sps_baza / + +"></span>
* Број потребних веб сервера, заокружен на ближи број: <math>veb\_serveri = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_veb\_server} =</math> <span data-variable="veb_serveri" data-expression="50 reciprocni_zbir_sps sps_veb_server * / round"></span>
* Број потребних апликативних сервера, заокружен на ближи број: <math>aplikativni\_serveri = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_aplikativni\_server} =</math> <span data-variable="aplikativni_serveri" data-expression="50 reciprocni_zbir_sps sps_aplikativni_server * / round"></span>
* Број потребних сервера база података, заокружен на ближи број: <math>baze = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_baza} =</math> <span data-variable="baze" data-expression="50 reciprocni_zbir_sps sps_baza * / round"></span>
* Сад кад смо распоредили своје сервере на равномеран начин, можемо да израчунамо који тип сервера нам представља уско грло и на основу њега одредимо колико страница по секунди наши сервери имају процесорске моћи да сервирају.
* Број језгара по процесору: <span data-variable="jezgra" data-expression="10"></span>
* Број страница по секунди које могу веб сервери да сервирају: <math>sps\_veb\_serveri = veb\_serveri \cdot jezgra \cdot sps\_veb\_server =</math> <span data-variable="sps_veb_serveri" data-expression="veb_serveri jezgra sps_veb_server * *"></span>
* Број страница по секунди које могу апликативни сервери да сервирају: <math>sps\_aplikativni\_serveri = aplikativni\_serveri \cdot jezgra \cdot sps\_aplikativni\_server =</math> <span data-variable="sps_aplikativni_serveri" data-expression="aplikativni_serveri jezgra sps_aplikativni_server * *"></span>
* Број страница по секунди које могу сервери база података да сервирају: <math>sps\_baze = baze \cdot jezgra \cdot sps\_baza =</math> <span data-variable="sps_baze" data-expression="baze jezgra sps_baza * *"></span>
* Можемо да видимо да је минимум ова три броја <span data-variable="sps_baze" data-expression="sps_veb_serveri sps_aplikativni_serveri sps_baze min min"></span>, и то је број страница по секунди које наши сервери могу да подрже.
==== База ====
У задатку је такође дат податак о томе колико података сервери базе података шаљу при одговору на захтев. Ово би требало да проверимо за случај да наши сервери базе података шаљу превише података и веза у серверској сали то не може да подржи.
* Подаци које сервер базе података пошаље по страници: <math>podaci\_baza\_stranica = dinamicki\_zahtevi\_po\_stranici \cdot 1.4 \cdot 6.1KB =</math> <span data-variable="podaci_baza_stranica" data-expression="dinamicki_zahtevi_po_stranici 1.4 6.1 * *"></span>KB
* Подаци које сервер базе података пошаље по секунди: <math>podaci\_baza\_ukupno = podaci\_baza\_stranica \cdot sps\_baza \cdot jezgra =</math> <span data-variable="podaci_baza_ukupno" data-expression="podaci_baza_stranica sps_baza jezgra * *"></span>KB = <span data-variable="podaci_baza_ukupno" data-expression="podaci_baza_ukupno 1024 / 1024 / 8 *"></span>Gb
* Пошто је крајњи број мањи од 1Gb, наши сервери базе података имају довољно протока.
==== Решење ====
У суштини, видимо да нам је уско грло у систему овде фајервол. На основу тога, пошто имамо број страница по секунди колики тај фајервол може да опслужи, можемо да израчунамо колико корисника може да опслужи.
* Број посећених страница: <span data-variable="posecene_stranice" data-expression="8"></span>
* Дужина сесије: <span data-variable="duzina_sesije" data-expression="10 60 *"></span>s
* Број конкурентних корисника: <math>broj\_konkurentnih\_korisnika = \frac{sps\_firewall}{\frac{posecene\_stranice}{duzina\_sesije}} =</math> <span data-variable="broj_konkurentnih_korisnika" data-expression="sps_firewall posecene_stranice duzina_sesije / /"></span>
* '''Број конкурентних корисника са сигурносним фактором:''' <math>\frac{broj\_konkurentnih\_korisnika}{3.5} =</math> <span data-expression="broj_konkurentnih_korisnika 3.5 /"></span>
</div>


[[Категорија:ИЕП]]
[[Категорија:ИЕП]]
[[Категорија:Рокови]]
[[Категорија:Рокови]]

Тренутна верзија на датум 4. фебруар 2024. у 02:30

Испит у септембарском року 2021. године одржан је 17. септембра. Били су доступни материјали са предавања и трајао је 90 минута. Исти задаци појавили су се на септембарском испиту 2022. године, одржаног 21. септембра.

Поставка

Компанија може користити опремљену сервер салу за опслуживање свог интернет пословања са клијентима из целог света. Сервер сала садржи:

Компонента Јединична цена Потрошња KW/h Карактеристике Количина
Рек орман 42U
UPS 10KVA, 10 минута, 3U
Шасија 12 сервера, 4U
Блеид сервер 10 језгара
Фајервол 40 MB у секунди, 2U
Балансер 20000 захтева у секунди, 2U
Свич 48 порта 1Gb, + 2 порта 10Gb, 2U
Сториџ 16 TB, 2U

Напомена: Узети сигурносни фактор 3,5. Конфигурација система је таква да прво долази фајервол и балансер који су смештени испред веб сервера (који даље прослеђује све динамичке захтеве), онда долази други фајервол, иза кога долазе апликативни сервер, сервер базе података и сториџ. Однос снага је 1.41. Однос долазног и одлазног саобраћаја износи 0,15.

Планирани начин рада целокупне опреме је 24 сати дневно, 7 дана у недељи. У сваком тренутку рада сервер сале, неопходно је да постоји дежуран инжењер. Познато је да цена kWh износи 0,05. За потребе сервер сале је неопходан простор од 4 метара квадратних по реку. Изнајмљивање простора се плаћа 25 по квадрату месечно. За повезивање сервер сале на интернет користи се веза брзине 10Gbs по цени од 3000 месечно. Плата дежурног инжењера за осмочасовно радно време је 1500 месечно. За потребе опремања сервер сале, компанија је узела позајмицу са фиксном каматном ратом од 5% на годишњем нивоу. Период амортизације опреме је 3 године.

  1. Колико износе капитална улагања (CAPEX) за опремање описане сервер сале на основу података датих у табели. Занемарити потребу за резервним деловима и расхладним системом.
  2. Колико износе оперативна улагања (OPEX) за месец дана планираног начина рада сервер сале?
  3. Сајт компаније равномерно током дана посећују посетиоци, при чему сваки посетилац сајт посећује 10 минута и за то време посети у просеку 8 страница. Да би се формирала једна страница, потребно је направити 17 захтева ка статичким елементима страница и 10 ка динамичким елементима странице. Код сваког динамичког елемента у просеку се 1,4 пута приступа бази података. Унутар виртуелне машине на једном језгру време обраде статичких захтева износи 0,25 ms, динамичких 1,5 ms, а приступ бази траје у просеку 5,5 ms. Веб сервер, апликативни сервер и сервер базе података се налазе на различитим физичким блеид серверима. Величина одговора на статичке захтеве износи 18 KB, динамичке 2,0 KB а базе 6.1 KB. Колико максимално посетилаца може подржати дата сервер сала?
  4. У случају максималног броја посетиоца која ће прва компонента доћи до максималног оптерећења?

Решење

CAPEX

Капитални трошкови нам се овде састоје само од опреме коју купујемо инцијално. У табели су излистане јединична цена и количина за сваку компоненту, па само треба да их саберемо:

OPEX

У оперативне трошкове нам овде спадају струја, отплата кредита, плате запослених, изнајмљивање простора и изнајмљивање интернета.

  • Струја:
    • Укупан број критичних киловати по сату:
    • Да бисмо добили месечну цену струје, треба израчунати број критичних киловати по сату, помножити са односом снага (PUE), бројем сати у месецу, и цени по киловату.
  • Отплата:
    • Месечна каматна стопа:
    • Укупан број рата:
    • Цена месечне отплате:
  • Плате:
    • Сваки радник може да ради 8 часова дневно, тако да може да покрије трећину дана. По Закону о раду, радници не смеју да раде више од 40 сати недељно. Због овога, потребно нам је барем 5 радника како бисмо покрили целу недељу.
  • Простор: Два река од 4 квадратна метра, 25 по метру квадратном укупно чини
  • Интернет: Фиксна цена од месечно.

Посетиоци

Овај задатак је мало другачији него што је рађено на предавању, у смислу да нам је дата инфраструктура и тражи нам се број корисника уместо да нам је дат број корисника и тражи се инфраструктура. Због тога, морамо да одредимо колико одређени делови система могу да приме конкурентних корисника. Могуће слабе тачке (bottleneck) наше инфраструктуре су:

  • Процесорски капацитет балансера
  • Процесорски капацитет сервера
  • Мрежни капацитет базе
  • Мрежни капацитет фајервола
  • Мрежни капацитет осталих сервера

Проверу мрежног капацитета осталих сервера можемо да изоставимо јер је ограничење на фајерволу (40 MB/s) много веће него ограничење одлазног саобраћаја са сервера (10Gbps).

Капацитет делова система ћемо гледати у броју страница по секунди () које могу да опслуже.

Фајервол

Фајервол је компонента система која филтрира долазни саобраћај. Ограничење на фајерволу је изражено у томе што може да филтрира MB/s улазног саобраћаја. Количина долазног саобраћаја нам није дата у задатку, али нам је дато да је однос долазног и одлазног саобраћаја и колико се тачно преноси одлазног саобраћаја кад корисник направи захтев ка страници:

  • Статичких захтева по страници:
  • Динамичких захтева по страници:
  • Саобраћај ка бази се не рачуна овде зато што корисници не праве захтеве директно ка бази и саобраћај од базе не излази ван граница серверске сале. Мрежни капацитет базе се рачуна одвојено.
  • Број килобајта по статичком захтеву:
  • Број килобајта по динамичком захтеву:
  • Одлазни саобраћај у килобајтима за једну страницу:
  • Долазни саобраћај у килобајтима за једну страницу:
  • Број страница које могу да прођу кроз фајервол за једну секунду:

Балансер

Балансер је компонента која може да опслужи захтева по секунди. У ове захтеве се не рачунају захтеви ка бази јер они не пролазе кроз балансер.

  • Број захтева по страници:
  • Број страница које могу да прођу кроз два балансера за једну секунду:

Сервери

Сервери се деле на три типа: веб сервер, апликативни сервер и сервер базе података. Не знамо колико сервера имамо од сваке групе, али можемо да израчунамо колико једно језгро процесора може да опслужи захтева потребних за сервирање једне странице у једној секунди.

  • Време обраде веб сервера по страници:
  • Време обраде апликативног сервера по страници:
  • Време обраде сервера базе података по страници:
  • Број "страница" по секунди сервираних од једног језгра веб сервера:
  • Број "страница" по секунди сервираних од једног језгра апликативног сервера:
  • Број "страница" по секунди сервираних од једног језгра веб сервера:
  • Број потребних типова сервера очигледно можемо да одредимо на основу реципрочне вредности страница по секунди које могу да сервирају. Прво рачунамо збир тих реципрочних вредности:
  • Број потребних веб сервера, заокружен на ближи број:
  • Број потребних апликативних сервера, заокружен на ближи број:
  • Број потребних сервера база података, заокружен на ближи број:
  • Сад кад смо распоредили своје сервере на равномеран начин, можемо да израчунамо који тип сервера нам представља уско грло и на основу њега одредимо колико страница по секунди наши сервери имају процесорске моћи да сервирају.
  • Број језгара по процесору:
  • Број страница по секунди које могу веб сервери да сервирају:
  • Број страница по секунди које могу апликативни сервери да сервирају:
  • Број страница по секунди које могу сервери база података да сервирају:
  • Можемо да видимо да је минимум ова три броја , и то је број страница по секунди које наши сервери могу да подрже.

База

У задатку је такође дат податак о томе колико података сервери базе података шаљу при одговору на захтев. Ово би требало да проверимо за случај да наши сервери базе података шаљу превише података и веза у серверској сали то не може да подржи.

  • Подаци које сервер базе података пошаље по страници: KB
  • Подаци које сервер базе података пошаље по секунди: KB = Gb
  • Пошто је крајњи број мањи од 1Gb, наши сервери базе података имају довољно протока.

Решење

У суштини, видимо да нам је уско грло у систему овде фајервол. На основу тога, пошто имамо број страница по секунди колики тај фајервол може да опслужи, можемо да израчунамо колико корисника може да опслужи.

  • Број посећених страница:
  • Дужина сесије: s
  • Број конкурентних корисника:
  • Број конкурентних корисника са сигурносним фактором: