{"id":37745,"date":"2019-10-31T22:19:28","date_gmt":"2019-10-31T19:19:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/balansirovka-nagruzki-v-openstack-chast-2\/"},"modified":"2019-10-31T22:19:28","modified_gmt":"2019-10-31T19:19:28","slug":"balansirovka-nagruzki-v-openstack-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/balansirovka-nagruzki-v-openstack-chast-2","title":{"rendered":"Load balancing w Openstack (Cz\u0119\u015b\u0107 2)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>W <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/rostelecom\/blog\/461483\/\">W poprzednim artykule<\/a><\/noindex> Opublikowali\u015bmy raport z pr\u00f3b wykorzystania Watchera. Takie testy okresowo przeprowadzamy, aby zr\u00f3wnowa\u017cy\u0107 oraz monitorowa\u0107 inne krytyczne funkcje du\u017cego korporacyjnego lub operatorskiego chmury.<\/p>\n<p>Wysoki poziom z\u0142o\u017cono\u015bci problemu, kt\u00f3rego si\u0119 podejmujemy, mo\u017ce wymaga\u0107 kilku artyku\u0142\u00f3w do szczeg\u00f3\u0142owego opisania naszego projektu. Dzi\u015b publikujemy drugi artyku\u0142 z cyklu, po\u015bwi\u0119cony r\u00f3wnowa\u017ceniu maszyn wirtualnych w chmurze. <\/p>\n<h3>Troch\u0119 terminologii<\/h3>\n<p>\nFirma VMware wprowadzi\u0142a narz\u0119dzie DRS (Distributed Resource Scheduler) do balansowania obci\u0105\u017cenia w opracowanym przez siebie \u015brodowisku wirtualizacji. <\/p>\n<p>Jak pisze <noindex><a rel=\"nofollow\" href=\"https:\/\/searchvmware.techtarget.com\/definition\/VMware-DRS\">searchvmware.techtarget.com\/definition\/VMware-DRS<\/a><\/noindex><br \/>\n<i>VMware DRS (Planista Zasob\u00f3w Rozproszonych) to narz\u0119dzie, kt\u00f3re r\u00f3wnowa\u017cy obci\u0105\u017cenia wirtualne z dost\u0119pnymi zasobami w \u015brodowisku wirtualnym. Narz\u0119dzie to jest cz\u0119\u015bci\u0105 pakietu wirtualizacji o nazwie VMware Infrastructure.<\/p>\n<p>Dzi\u0119ki VMware DRS u\u017cytkownicy okre\u015blaj\u0105 zasady przydzielania zasob\u00f3w fizycznych pomi\u0119dzy maszynami wirtualnymi (VM). Narz\u0119dzie mo\u017ce by\u0107 skonfigurowane do r\u0119cznego lub automatycznego zarz\u0105dzania. Zestawy zasob\u00f3w VMware mo\u017cna \u0142atwo dodawa\u0107, usuwa\u0107 lub reorganizowa\u0107. W razie potrzeby zestawy zasob\u00f3w mog\u0105 by\u0107 izolowane pomi\u0119dzy r\u00f3\u017cnymi jednostkami biznesowymi. Je\u015bli obci\u0105\u017cenie robocze jednej lub kilku maszyn wirtualnych ulega nag\u0142ej zmianie, VMware DRS przemieszcza maszyny wirtualne pomi\u0119dzy serwerami fizycznymi. Je\u015bli og\u00f3lna liczba obci\u0105\u017cenia spada, niekt\u00f3re serwery fizyczne mog\u0105 zosta\u0107 tymczasowo wy\u0142\u0105czone, a obci\u0105\u017cenie robocze skonsolidowane.<\/i><\/p>\n<h3>Po co jest r\u00f3wnowa\u017cenie?<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nUwa\u017camy, \u017ce DRS jest niezb\u0119dn\u0105 funkcj\u0105 chmury, ale nie oznacza to, \u017ce nale\u017cy go u\u017cywa\u0107 zawsze i wsz\u0119dzie. W zale\u017cno\u015bci od przeznaczenia i potrzeb chmury mog\u0105 istnie\u0107 r\u00f3\u017cne wymagania wobec DRS oraz metod r\u00f3wnowa\u017cenia. Mo\u017cliwe, \u017ce s\u0105 sytuacje, w kt\u00f3rych r\u00f3wnowa\u017cenie jest ca\u0142kowicie zb\u0119dne, a nawet szkodliwe.<\/p>\n<p>Aby lepiej zrozumie\u0107, gdzie i dla jakich klient\u00f3w DRS jest potrzebne, przyjrzyjmy si\u0119 ich celom i zadaniom. Chmury mo\u017cna podzieli\u0107 na publiczne i prywatne. Oto g\u0142\u00f3wne r\u00f3\u017cnice mi\u0119dzy tymi chmurami a celami klient\u00f3w.<\/p>\n<p>Prywatne chmury \/ Duzi klienci korporacyjni<br \/>\nPubliczne chmury \/ Ma\u0142e i \u015brednie przedsi\u0119biorstwa, osoby fizyczne<\/p>\n<p>G\u0142\u00f3wny kryterium i cele operatora<br \/>\nZapewnienie niezawodnej us\u0142ugi lub produktu<br \/>\nObni\u017cenie koszt\u00f3w us\u0142ug w walce na konkurencyjnym rynku<\/p>\n<p>Wymagania dotycz\u0105ce us\u0142ugi<br \/>\nNiezawodno\u015b\u0107 na wszystkich poziomach i we wszystkich elementach systemu<\/p>\n<p>Gwarantowana wydajno\u015b\u0107<\/p>\n<p>Priorytetyzacja maszyn wirtualnych w kilku kategoriach\u00a0<\/p>\n<p>Bezpiecze\u0144stwo informacji i fizyczne bezpiecze\u0144stwo danych<\/p>\n<p>SLA i ca\u0142odobowe wsparcie<br \/>\nMaksymalna prostota uzyskania us\u0142ugi<\/p>\n<p>Stosunkowo proste us\u0142ugi<\/p>\n<p>Odpowiedzialno\u015b\u0107 za dane spoczywa na kliencie<\/p>\n<p>Priorytetyzacja maszyn wirtualnych nie jest wymagana<\/p>\n<p>Bezpiecze\u0144stwo informacji na poziomie standardowych us\u0142ug, odpowiedzialno\u015b\u0107 spoczywa na kliencie<\/p>\n<p>Mog\u0105 wyst\u0105pi\u0107 awarie<\/p>\n<p>Brak SLA, jako\u015b\u0107 nie jest gwarantowana<\/p>\n<p>Wsparcie mailowe<\/p>\n<p>Kopie zapasowe nie s\u0105 obowi\u0105zkowe<\/p>\n<p>Cechy klienta<br \/>\nBardzo szeroki zakres aplikacji.<\/p>\n<p>Legacy aplikacje, dziedziczone w firmie.<\/p>\n<p>Skomplikowane, dostosowane architektury dla ka\u017cdego klienta.<\/p>\n<p>Regu\u0142y atrybut\u00f3w.<\/p>\n<p>Dzia\u0142anie oprogramowania bez przestoj\u00f3w w trybie 7x24.\u00a0<\/p>\n<p>\u015arodki do robienia kopii zapasowych \u201ena \u017cywo\u201d.<\/p>\n<p>Przewidywalne cykliczne obci\u0105\u017cenie klienta.<br \/>\nStandardowe aplikacje \u2013 balansowanie sieci, Apache, WEB, VPN, SQL<\/p>\n<p>Mo\u017cliwo\u015b\u0107 wstrzymania aplikacji na pewien czas<\/p>\n<p>Dopuszczalne losowe rozmieszczenie maszyn wirtualnych w chmurze<\/p>\n<p>Kopie zapasowe realizowane przez klienta<\/p>\n<p>Przewidywalne obci\u0105\u017cenie statystycznie u\u015brednione przy du\u017cej liczbie klient\u00f3w.<\/p>\n<p>Konsekwencje dla architektury<br \/>\nGeo-klasteryzacja<\/p>\n<p>Centralne lub rozproszone przechowywanie danych<\/p>\n<p>Rezerwowane zasoby BBK<br \/>\nLokalne przechowywanie danych na w\u0119z\u0142ach obliczeniowych<\/p>\n<p>Cele balansowania<br \/>\nR\u00f3wnomierne roz\u0142o\u017cenie obci\u0105\u017cenia<\/p>\n<p>Maksymalna responsywno\u015b\u0107 aplikacji\u00a0<\/p>\n<p>Minimalny czas op\u00f3\u017anienia w balansowaniu<\/p>\n<p>Balansowanie tylko w przypadku wyra\u017anej potrzeby<\/p>\n<p>Wy\u0142\u0105czenie cz\u0119\u015bci sprz\u0119tu na czas przegl\u0105du<br \/>\nObni\u017cenie koszt\u00f3w us\u0142ugi i wydatk\u00f3w operatora\u00a0<\/p>\n<p>Wy\u0142\u0105czenie cz\u0119\u015bci zasob\u00f3w w przypadku niskiego obci\u0105\u017cenia<\/p>\n<p>Oszcz\u0119dno\u015b\u0107 energii elektrycznej<\/p>\n<p>Zmniejszenie koszt\u00f3w pracowniczych<\/p>\n<h3> Wyci\u0105gamy nast\u0119puj\u0105ce wnioski:<\/h3>\n<p>\n<b>Dla chmur prywatnych<\/b>, dostarczanych du\u017cym klientom korporacyjnym, DRS mo\u017ce by\u0107 stosowane z uwzgl\u0119dnieniem ogranicze\u0144:<\/p>\n<ul>\n<li>bezpiecze\u0144stwo informacji oraz uwzgl\u0119dnienie regu\u0142 atrybut\u00f3w przy balansowaniu;<\/li>\n<li>posiadanie wystarczaj\u0105cej ilo\u015bci zasob\u00f3w w rezerwie w przypadku awarii;<\/li>\n<li>dane maszyn wirtualnych znajduj\u0105 si\u0119 w centralnej lub rozproszonej magazynie danych;<\/li>\n<li>roz\u0142o\u017cenie w czasie dzia\u0142a\u0144 administracyjnych, kopii zapasowych i balansowania;<\/li>\n<li>balansowanie tylko w obr\u0119bie grupy host\u00f3w klienta;<\/li>\n<li>balansowanie tylko w przypadku du\u017cego dysbalansu, najbardziej efektywne i bezpieczne migracje VM (migracja mo\u017ce zako\u0144czy\u0107 si\u0119 niepowodzeniem);<\/li>\n<li>balansowanie w odniesieniu do \"spokojnych\" maszyn wirtualnych (migracja \"g\u0142o\u015bnych\" maszyn wirtualnych mo\u017ce trwa\u0107 bardzo d\u0142ugo);<\/li>\n<li>balansowanie z uwzgl\u0119dnieniem \"kosztu\" \u2014 obci\u0105\u017cenia na macierzach dyskowych i sieci (przy dostosowanych architekturach dla du\u017cych klient\u00f3w);<\/li>\n<li>balansowanie z uwzgl\u0119dnieniem indywidualnych cech zachowania ka\u017cdej VM;<\/li>\n<li>balansowanie najlepiej w czasie niepracuj\u0105cym (noc, weekendy, \u015bwi\u0119ta).<\/li>\n<\/ul>\n<p>\n<b>Dla publicznych chmur<\/b>, kt\u00f3re dostarczaj\u0105 us\u0142ugi ma\u0142ym klientom, DRS mo\u017ce by\u0107 stosowane znacznie cz\u0119\u015bciej, z rozszerzonymi mo\u017cliwo\u015bciami:<\/p>\n<ul>\n<li>brak ogranicze\u0144 dotycz\u0105cych bezpiecze\u0144stwa informacji i zasad affinity; <\/li>\n<li>balansowanie w obr\u0119bie chmury;<\/li>\n<li>balansowanie w ka\u017cdym rozs\u0105dnym czasie;<\/li>\n<li>balansowanie ka\u017cdej VM; <\/li>\n<li>balansowanie \"g\u0142o\u015bnych\" maszyn wirtualnych (aby nie przeszkadza\u0107 innym); <\/li>\n<li>dane maszyn wirtualnych cz\u0119sto znajduj\u0105 si\u0119 na lokalnych dyskach;<\/li>\n<li>uwzgl\u0119dnienie u\u015brednionej wydajno\u015bci macierzy dyskowej i sieci (architektura chmury jest jednolita);<\/li>\n<li>balansowanie wed\u0142ug og\u00f3lnych zasad i dost\u0119pnych statystyk zachowania centrum danych.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Z\u0142o\u017cono\u015b\u0107 problemu<\/h2>\n<p>\nZ\u0142o\u017cono\u015b\u0107 balansowania polega na tym, \u017ce DRS musi dzia\u0142a\u0107 z du\u017c\u0105 liczb\u0105 nieokre\u015blonych czynnik\u00f3w:<\/p>\n<ul>\n<li>zachowanie u\u017cytkownik\u00f3w ka\u017cdej z system\u00f3w informacyjnych klient\u00f3w;<\/li>\n<li>algorytmy dzia\u0142ania serwer\u00f3w system\u00f3w informacyjnych;<\/li>\n<li>zachowanie serwer\u00f3w DBMS;<\/li>\n<li>obci\u0105\u017cenie zasob\u00f3w obliczeniowych, macierzy dysk\u00f3w, sieci; <\/li>\n<li>interakcja serwer\u00f3w ze sob\u0105 w walce o zasoby chmury.<\/li>\n<\/ul>\n<p>\nObci\u0105\u017cenie du\u017cej liczby wirtualnych serwer\u00f3w aplikacji i baz danych na zasoby chmury rozprzestrzenia si\u0119 w czasie, skutki mog\u0105 si\u0119 pojawia\u0107 i nak\u0142ada\u0107 na siebie w nieprzewidywalny spos\u00f3b w nieprzewidywalnym czasie. Nawet do zarz\u0105dzania relatywnie prostymi procesami (na przyk\u0142ad zarz\u0105dzania silnikiem, systemem ogrzewania wodnego w domu) systemy automatycznego regulowania musz\u0105 stosowa\u0107 z\u0142o\u017cone <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D0%98%D0%94-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80\">proporcjonalno-ca\u0142kuj\u0105co- r\u00f3\u017cniczkuj\u0105ce <\/a><\/noindex>algorytmy z informacj\u0105 zwrotn\u0105. <\/p>\n<p><img decoding=\"async\" alt=\"Load balancing w Openstack (Cz\u0119\u015b\u0107 2)\" src=\"\/wp-content\/uploads\/2019\/09\/5270ddb943db9b4921a887e67c4f2a8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNaszym zadaniem jest znacznie bardziej skomplikowane, i istnieje ryzyko, \u017ce system nie b\u0119dzie w stanie przeprowadzi\u0107 r\u00f3wnowa\u017cenia obci\u0105\u017cenia w rozs\u0105dnym czasie, nawet je\u015bli nie wyst\u0105pi\u0105 zewn\u0119trzne interakcje ze strony u\u017cytkownik\u00f3w. <\/p>\n<p><img decoding=\"async\" alt=\"Load balancing w Openstack (Cz\u0119\u015b\u0107 2)\" src=\"\/wp-content\/uploads\/2019\/09\/5214b3af233e7c718fd40e6336472903.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Historia naszych opracowa\u0144<\/h2>\n<p>\nAby rozwi\u0105za\u0107 ten problem, postanowili\u015bmy nie zaczyna\u0107 od podstaw, lecz oprze\u0107 si\u0119 na istniej\u0105cym do\u015bwiadczeniu i wsp\u00f3\u0142pracowa\u0107 z ekspertami, kt\u00f3rzy maj\u0105 wiedz\u0119 w tej dziedzinie. Na szcz\u0119\u015bcie nasze zrozumienie problematyki ca\u0142kowicie si\u0119 pokrywa\u0142o. <\/p>\n<h3>Etap 1<\/h3>\n<p>\nU\u017cyli\u015bmy systemu opartego na technologii sieci neuronowych i spr\u00f3bowali\u015bmy na jego podstawie zoptymalizowa\u0107 nasze zasoby.<\/p>\n<p>Interes tego etapu polega\u0142 na przetestowaniu nowej technologii, a jego znaczenie \u2013 na zastosowaniu niestandardowego podej\u015bcia do rozwi\u0105zania problemu, gdzie w innych r\u00f3wnych warunkach standardowe podej\u015bcia praktycznie wyczerpa\u0142y si\u0119.<\/p>\n<p>Uruchomili\u015bmy system i rzeczywi\u015bcie zacz\u0119\u0142o si\u0119 r\u00f3wnowa\u017cenie. Skala naszej chmury nie pozwoli\u0142a nam uzyska\u0107 optymistycznych wynik\u00f3w, kt\u00f3re og\u0142osili deweloperzy, ale by\u0142o wida\u0107, \u017ce r\u00f3wnowa\u017cenie dzia\u0142a. <\/p>\n<p>Jednocze\u015bnie mieli\u015bmy do czynienia z do\u015b\u0107 powa\u017cnymi ograniczeniami:<\/p>\n<ul>\n<li>Aby wytrenowa\u0107 sie\u0107 neuronow\u0105, konieczne jest, aby wirtualne maszyny dzia\u0142a\u0142y bez istotnych zmian przez tygodnie lub miesi\u0105ce.<\/li>\n<li>Algorytm jest zaprojektowany do optymalizacji na podstawie analizy wcze\u015bniejszych danych 'historycznych'.<\/li>\n<li>Aby wytrenowa\u0107 sie\u0107 neuronow\u0105, potrzebna jest do\u015b\u0107 du\u017ca ilo\u015b\u0107 danych i zasob\u00f3w obliczeniowych. <\/li>\n<li>Optymalizacj\u0119 i r\u00f3wnowa\u017cenie mo\u017cna przeprowadza\u0107 stosunkowo rzadko \u2013 raz na kilka godzin, co jest wyra\u017anie niewystarczaj\u0105ce. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Etap 2<\/h3>\n<p>\nPoniewa\u017c nie byli\u015bmy zadowoleni z obecnego stanu rzeczy, postanowili\u015bmy zmodyfikowa\u0107 system, a w tym celu odpowiedzie\u0107 na <b>kluczowe pytanie<\/b> \u2013 dla kogo to robimy?<\/p>\n<p>Na pocz\u0105tku \u2013 dla klient\u00f3w korporacyjnych. Oznacza to, \u017ce potrzebujemy systemu, kt\u00f3ry dzia\u0142a sprawnie, z tymi ograniczeniami korporacyjnymi, kt\u00f3re jedynie uproszczaj\u0105 realizacj\u0119.<\/p>\n<p><b>Drugie pytanie<\/b> \u2013 co rozumie\u0107 przez s\u0142owo 'sprawnie'? W wyniku kr\u00f3tkich debat postanowili\u015bmy, \u017ce mo\u017cemy opiera\u0107 si\u0119 na czasie reakcji 5 \u2013 10 minut, aby kr\u00f3tkoterminowe skoki nie wprowadza\u0142y systemu w rezonans.<\/p>\n<p><b>Trzecie pytanie<\/b> \u2013 jaki rozmiar r\u00f3wnowa\u017conej liczby serwer\u00f3w wybra\u0107?<br \/>\nTo pytanie rozwi\u0105za\u0142o si\u0119 samo. Zazwyczaj klienci nie tworz\u0105 du\u017cych agregat\u00f3w serwer\u00f3w, co jest zgodne z zaleceniami zawartymi w artykule, aby ograniczy\u0107 agregaty do 30-40 serwer\u00f3w.<\/p>\n<p>Ponadto, segmentuj\u0105c pul\u0119 serwer\u00f3w, u\u0142atwiamy zadanie algorytmowi r\u00f3wnowa\u017cenia obci\u0105\u017cenia.<\/p>\n<p><b>Czwarte pytanie<\/b> \u2013 na ile odpowiednia jest dla nas sie\u0107 neuronowa z jej d\u0142ugim procesem uczenia si\u0119 i rzadkimi r\u00f3wnowa\u017ceniami? Podj\u0119li\u015bmy decyzj\u0119 o rezygnacji z niej na rzecz prostszych algorytm\u00f3w operacyjnych, aby uzyska\u0107 wyniki w ci\u0105gu sekund. <\/p>\n<p><img decoding=\"async\" alt=\"Load balancing w Openstack (Cz\u0119\u015b\u0107 2)\" src=\"\/wp-content\/uploads\/2019\/09\/73fb927b304ca5d61090a5c045568931.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZ opisem systemu wykorzystuj\u0105cego takie algorytmy oraz jego wadami mo\u017cna si\u0119 zapozna\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/416391\/\">tutaj <\/a><\/noindex><\/p>\n<p>Zrealizowali\u015bmy i uruchomili\u015bmy ten system i uzyskali\u015bmy obiecuj\u0105ce wyniki \u2013 obecnie regularnie analizuje obci\u0105\u017cenie chmury i daje rekomendacje dotycz\u0105ce przenoszenia maszyn wirtualnych, kt\u00f3re w du\u017cej mierze s\u0105 trafne. Ju\u017c teraz wida\u0107, \u017ce mo\u017cemy osi\u0105gn\u0105\u0107 10-15% zwolnienia zasob\u00f3w dla nowych maszyn wirtualnych, poprawiaj\u0105c jednocze\u015bnie jako\u015b\u0107 pracy istniej\u0105cych.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ie\/ky\/wa\/iekywainupnidp_73j55hc1dbnw.png\"><img decoding=\"async\" alt=\"Load balancing w Openstack (Cz\u0119\u015b\u0107 2)\" src=\"\/wp-content\/uploads\/2019\/09\/f1f0919ae653dc9b8c78b4d32d839313.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>W przypadku wykrycia dysbalansu w RAM lub CPU system wydaje polecenia do harmonogramu Tionix w celu wykonania na \u017cywo migracji wymaganych maszyn wirtualnych. Z systemu monitorowania wida\u0107, \u017ce maszyna wirtualna przenios\u0142a si\u0119 z jednego (g\u00f3rnego) na inny (dolny) host i zwolni\u0142a pami\u0119\u0107 na g\u00f3rnym ho\u015bcie (zaznaczone \u017c\u00f3\u0142tymi k\u00f3\u0142kami), zajmuj\u0105c j\u0105 odpowiednio na dolnym (zaznaczone bia\u0142ymi k\u00f3\u0142kami).<\/p>\n<p>Obecnie staramy si\u0119 dok\u0142adniej oceni\u0107 efektywno\u015b\u0107 dzia\u0142aj\u0105cego algorytmu i pr\u00f3bujemy znale\u017a\u0107 w nim mo\u017cliwe b\u0142\u0119dy.<\/p>\n<h3>Etap 3<\/h3>\n<p>\nWydawa\u0142oby si\u0119, \u017ce na tym mo\u017cna poprzesta\u0107, poczeka\u0107 na udowodnion\u0105 efektywno\u015b\u0107 i zamkn\u0105\u0107 temat.<br \/>\nJednak nowe oczywiste mo\u017cliwo\u015bci optymalizacji popychaj\u0105 nas do przeprowadzenia nowego etapu<\/p>\n<ol>\n<li>Statystyka na przyk\u0142ad <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cpubenchmark.net\/multi_cpu.html\">tutaj <\/a><\/noindex>i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cpubenchmark.net\/high_end_cpus.html\">tutaj <\/a><\/noindex>pokazuje, \u017ce systemy dwuprocesorowe i czteroprocesorowe maj\u0105 znacznie gorsz\u0105 wydajno\u015b\u0107 ni\u017c systemy jednoprosesorowe. Oznacza to, \u017ce wszyscy u\u017cytkownicy otrzymuj\u0105 znacznie gorszy zwrot z inwestycji w zakupionych w systemach wieloprocesorowych CPU, RAM, SSD, LAN, FC w por\u00f3wnaniu z systemami jednoprosesorowymi. <\/li>\n<li>Same harmonogramy zasob\u00f3w mog\u0105 dzia\u0142a\u0107 z powa\u017cnymi b\u0142\u0119dami, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ece.ubc.ca\/~sasha\/papers\/eurosys16-final29.pdf\">oto jeden z artyku\u0142\u00f3w<\/a><\/noindex> na ten temat. <\/li>\n<li>Technologie monitorowania RAM i cache oferowane przez firmy Intel i AMD pozwalaj\u0105 na badanie zachowania wirtualnych maszyn oraz ich rozmieszczanie w taki spos\u00f3b, aby \"ha\u0142a\u015bliwi\" s\u0105siedzi nie przeszkadzali \"spokojnym\" maszynom wirtualnym. <\/li>\n<li>Rozszerzenie zestawu parametr\u00f3w (sie\u0107, pami\u0119\u0107 masowa, priorytet maszyny wirtualnej, koszt migracji, jej gotowo\u015b\u0107 do migracji).<\/li>\n<\/ol>\n<p><\/p>\n<h2>Podsumowuj\u0105c<\/h2>\n<p>\nWyniki naszej pracy nad udoskonaleniem algorytm\u00f3w bilansowania wskazuj\u0105 jednoznacznie, \u017ce dzi\u0119ki nowoczesnym algorytmom mo\u017cna osi\u0105gn\u0105\u0107 znaczn\u0105 optymalizacj\u0119 zasob\u00f3w (25-30%) w centrach danych, jednocze\u015bnie poprawiaj\u0105c jako\u015b\u0107 obs\u0142ugi klient\u00f3w.<\/p>\n<p>Algorytm oparty na sieciach neuronowych jest z pewno\u015bci\u0105 interesuj\u0105cym rozwi\u0105zaniem, ale wymaga dalszego rozwoju i jest z uwagi na istniej\u0105ce ograniczenia nieodpowiedni do rozwi\u0105zywania tego rodzaju problem\u00f3w na wolumenach charakterystycznych dla prywatnych chmur. W publicznych chmurach o znacznych rozmiarach algorytm wykaza\u0142 dobre wyniki.<\/p>\n<p>Wi\u0119cej na temat mo\u017cliwo\u015bci procesor\u00f3w, planist\u00f3w i wysokopoziomowego bilansowania om\u00f3wimy w kolejnych artyku\u0142ach.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/rostelecom\/blog\/465715\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Watcher \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043e\u0442\u0447\u0435\u0442 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439. \u0422\u0430\u043a\u0438\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u044f \u043c\u044b \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u043b\u0430\u043a\u0430. \u0412\u044b\u0441\u043e\u043a\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0448\u0430\u0435\u043c\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c \u0432\u0442\u043e\u0440\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u0446\u0438\u043a\u043b\u0430, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0443\u044e \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0432 \u043e\u0431\u043b\u0430\u043a\u0435. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28330,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37745","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Watcher \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043e\u0442\u0447\u0435\u0442 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/balansirovka-nagruzki-v-openstack-chast-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 Openstack (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Watcher \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043e\u0442\u0447\u0435\u0442 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/balansirovka-nagruzki-v-openstack-chast-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:19:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:19:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Bilansowanie obci\u0105\u017cenia w Openstack (Cz\u0119\u015b\u0107 2) | ProHoster","description":"W poprzednim artykule opowiadali\u015bmy o pr\u00f3bach u\u017cycia Watchera i przedstawili\u015bmy raport z test\u00f3w.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/balansirovka-nagruzki-v-openstack-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 Openstack (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster","og:description":"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Watcher \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043e\u0442\u0447\u0435\u0442 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/balansirovka-nagruzki-v-openstack-chast-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:19:28+00:00","article:modified_time":"2019-10-31T19:19:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37745","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:21:23","updated":"2026-01-23 19:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/37745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=37745"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/37745\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/28330"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=37745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=37745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=37745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}