Розрахунок параметрів корпоративної мережі з 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 - результат виконання програми
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Контрольная работа
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ