Розрахунок параметрів корпоративної мережі з 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,09a26b0.12c0.10d15e1.0r98Util15

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

// -

#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)

{(StationsNum * IncSpeed) / 60.0;

}

// -

// утилізація системи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»);

Log->Lines->Add((AnsiString) «Середній час, який елементи даних очікують обслуговування:» + FloatToStrF (MidProcWaitT, 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 сервером

 

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