Розрахунок параметрів корпоративної мережі з 1 сервером

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    309,04 Кб
  • Опубликовано:
    2013-10-21
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Розрахунок параметрів корпоративної мережі з 1 сервером















Розрахункова графічна робота

Розрахунок параметрів корпоративної мережі з 1 сервером


Вступ

Вивчення курсу «Cполучені мережі» передбачає набуття студентом навичок проектування параметрів об’єднаних комп’ютерних мереж.

З цією метою виконується РГР, яка дозволяє засвоїти основні принципи, технології та протоколи комп’ютерних мереж.

Мережа підприємства, як правило, повинна підтримувати ряд найбільш затребуваних для бізнесу додатків і керованих сервісів. У першу чергу це:

·              Можлівість високошвидкісного доступу до мережі Інтернет;

·              Створення віртуальних приватних мереж (VPN);

·              Передача голосу поверх IP;

·              Проведення відеоконференцій;

·              Захист інформації й зберігання даних.

Основним завданнями РГР є засвоєння методик розрахунку параметрів мережі. Одержання навичок РГР та користування інформацією стандартів дозволяє також виконувати відповідні розділи у дипломному проекті.


1. Технічне завдання

1. Складена мережа має «a» робочих станцій та «N» серверів.

. Середній час обслуговування елементів, що надійшли, системою «b».

. Стандартне відхилення цього часу «c».

. Швидкість надходження запитів від кожної робочої станції «d».

. Розподіл часу надходження заявок або часу обслуговування системою/ G / N, M / M / N або M / D / N, де

• G - нормальний розподіл часу надходження або часу обслуговування елементів даних;

• М - пуасонівської розподіл часу надходження; пуасонівської або експоненційний розподіл часу обслуговування елементів даних;

• D - детермінований час надходження або час обслуговування елементів даних;

• N - кількість серверів.

. Максимально прийнятний час відповіді «e», в «r»% випадків.

. Збільшення утилізації сервера «Util»%.

Розрахувати:

• швидкість надходження елементів даних в систему,

• утилізацію одного сервера,

• утилізацію системи (інтенсивність трафіку),

• функцію Ерланга;

• коефіцієнт Пуасона,

• середній час відповіді,

• середній час відповіді при збільшенні утилізації сервера,

• середній розмір черги,

• відсоток завантаження до досягнення насиченості сервера,

• середню кількість елементів даних в системі,

• середній час, який елементи даних проводять в системі,

• середній час, який елементи даних очікують обслуговування,

• середній час, який елементи даних очікують обслуговування, при збільшенні утилізації сервера,

• стандартне відхилення q,

• середній час обслуговування для елементів даних в черзі (тобто, не включаючи елементи, для яких час очікування дорівнює 0),

• стандартне відхилення Tq.

. Варіант завдання

M/D/1

3,09

a

26

b

0.12

c

0.10

d

15

e

1.0

r

98

Util

15

. Лістинг програми

 // -

#include <vcl.h>

#pragma hdrstop

#include «Main.h»

// -

#pragma package (smart_init)

#pragma resource «*.dfm»

// Ініціалізація змінних

TForm1 *Form1;lyambda = 0;ServUtil = 0;MidAnswerT = 0;MidProcWaitT = 0;LineSize = 0;SystemSize = 0;Tq = 0;q = 0;reaching = 0;K = 0;C = 0;Td = 0;

// швидкість надходження елементів даних в систему

float DataIncomingSpeed (unsigned int StationsNum, unsigned int IncSpeed)

}

// -

// утилізація системиServerUtilization (float DataIncSpeed, float MidProcTime)

{(DataIncSpeed * MidProcTime);

}

// -

// середній час відповіді

float MidAnswerTime (float ServerUtil, float MidProcTime)

{(MidProcTime * (2 - ServerUtil)) /

(2 * (1 - ServerUtil));

}

// -

// середній розмір чергиSizeOfLine (float ServerUtil)

{(pow (ServerUtil, 2) / (2 * (1 - ServerUtil)));

}

 // -

// середня кількість елементів даних в системі

float ElementsInSystem (float LineSz, float ServerUtil)

{(LineSz + ServerUtil);

}

// -

// середній час, який елементи даних очікують обслуговуванняMidProcessWaitingTime (float ServerUtil, float MidProcTime)

{((ServerUtil * MidProcTime) / (2 * (1 - ServerUtil)));

}

// -

// стандартне відхилення qDeltaq (float ServerUtil)

{(1 / (1 - ServerUtil)) * sqrt (ServerUtil + 3 * pow (ServerUtil, 2) / 2 + 5 * pow (ServerUtil, 3) / 6);

}

// -

// стандартне відхилення TqDeltaTq (float MidProcTime, float ServerUtil)

{(MidProcTime / (1 - ServerUtil)) * sqrt (ServerUtil / 3 + pow (ServerUtil, 2) / 12);

}

// -

// коефіцієнт ПуасонаPuasonKoef (float ServerUtil)

{1 / (1 + ServerUtil);

}

// -

// середній час обслуговування для елементів даних в черзіMidProcTimeTd (float MidProcTime, float ServerUtil)

{MidProcTime / (1 - ServerUtil);

}

// -

// відсоток завантаження до досягнення насиченості сервераReachStateProcentage (float MidProcTime, float EventsCount, float MaxAnswerTime)

{(1 - (MidProcTime * log (100 / (100 - EventsCount)) / MaxAnswerTime)) * 100;

}

// -

__fastcall TForm1:TForm1 (TComponent* Owner): TForm(Owner)

{

}

// -

// Обробник кнопки «Розрахунок»__fastcall TForm1: StartButtonClick (TObject *Sender)

{>Lines->Clear();= DataIncomingSpeed (WorkStationsEdit->Text. ToInt(),>Text. ToInt());= ServerUtilization (lyambda, MidProcTimeEdit->Text. ToDouble());(ServUtil > 1)

ShowMessage («Введено некоректні дані! Утилізація неповинна перевищувати 100%»);

else

{

MidAnswerT = MidAnswerTime (ServUtil, MidProcTimeEdit->Text. ToDouble());

LineSize = SizeOfLine(ServUtil);= ElementsInSystem (LineSize, ServUtil);= MidProcessWaitingTime (ServUtil,

MidProcTimeEdit->Text. ToDouble());= ServUtil;= PuasonKoef(ServUtil);= MidProcTimeTd (MidProcTimeEdit->Text. ToDouble(), ServUtil);= Deltaq(ServUtil);= DeltaTq (MidProcTimeEdit->Text. ToDouble(), ServUtil);= ReachStateProcentage (MidProcTimeEdit->Text. ToDouble(),>Text. ToDouble(),>Text. ToDouble());->Lines->Add((AnsiString) «Швидкість надходження елементів даних в систему:» + FloatToStrF (lyambda, ffFixed, 6, 1) + «елементів/сек»);

Log->Lines->Add((AnsiString) «Утилізація сервера при обслуговуванні:» + FloatToStrF (ServUtil * 1e2, ffFixed, 4, 2) + «%»);

Log->Lines->Add((AnsiString) «Функція Ерланга:» + FloatToStrF (ServUtil, ffFixed, 4, 3));>Lines->Add((AnsiString) «Коефіцієнт Пуасона:» + FloatToStrF (K, ffFixed, 4, 3));>Lines->Add((AnsiString) «Середній час відповіді:» + FloatToStrF (MidAnswerT, ffFixed, 4, 3) + «c»);

{(((UtilEdit->Text. ToDouble() * 1e-2) + ServUtil) > 1)>Text = FloatToStrF (UtilEdit->Text. ToDouble() -

(UtilEdit->Text. ToDouble() + ServUtil * 100 - 100), ffFixed, 4, 2);temp = MidAnswerTime (ServUtil + UtilEdit->Text. ToDouble() * 1e-2, MidProcTimeEdit->Text. ToDouble());->Lines->Add((AnsiString) «Середній час відповіді при збільшенні утилізації:» + FloatToStrF (temp, ffFixed, 4, 3) + «c»);

}

catch(…)

{

Log->Lines->Add («Середній час відповіді при збільшенні утилізації: сервер перевантажено»);

}

Log->Lines->Add((AnsiString) «Середній розмір черги:» + FloatToStrF (LineSize, ffFixed, 6, 3) + «елементів»);

Log->Lines->Add((AnsiString) «Відсоток завантаження до досягнення насиченості сервера:» + FloatToStrF (reaching, ffFixed, 4, 2) + «%»);

Log->Lines->Add((AnsiString) «Середня кількість елементів даних в системі:» + FloatToStrF (SystemSize, ffFixed, 6, 3) + «елементів»);

Log->Lines->Add((AnsiString) «Середній час, який елементи даних проводять в системі:» + FloatToStrF (MidAnswerT, ffFixed, 4, 3) + «c»);

try

{temp = MidProcessWaitingTime (ServUtil + UtilEdit->Text. ToDouble() * 1e-2, MidProcTimeEdit->Text. ToDouble());>Lines->Add((AnsiString) «Середній час, який елементи даних очікують обслуговування, при збільшенні утилізації:» + FloatToStrF (temp, ffFixed, 4, 3) + «c»);

}

catch(…)

{

Log->Lines->Add («Середній час, який елементи даних очікують обслуговування, при збільшенні утилізації: сервер перевантажено»);

}

Log->Lines->Add((AnsiString) «Стандартне відхилення q:» + FloatToStrF (q, ffFixed, 4, 2));

Log->Lines->Add((AnsiString) «Середній час обслуговування для елементів даних в черзі (не включаючи елементи, для яких час очікування дорівнює 0):» + FloatToStrF (Td, ffFixed, 4, 3) + «c»);

Log->Lines->Add((AnsiString) «Стандартне відхилення Tq:» + FloatToStrF (Tq, ffFixed, 4, 3) + «c»);

}

}

// -

4. Результати виконання програми

Рисунок 1 - результат виконання програми

мережа програма ерланг пуасон

Рисунок 2 - результат виконання програми

Похожие работы на - Розрахунок параметрів корпоративної мережі з 1 сервером

 

Не нашел материал для своей работы?
Поможем написать качественную работу
Без плагиата!