Онлайн-курс Data Engineer - для распрацоўшчыкаў, адміністратараў СКБД і ўсіх, хто імкнецца павысіць прафесійны ўзровень, асвоіць новыя інструменты і займацца цікавымі задачамі ў сферы працы з вялікімі дадзенымі. Курс не для пачаткоўцаў - трэба прайсці.
Ёсць у мяне ў гаспадарцы 2 сервера тэрміналаў Windows Server 2008 R2, на кожным з якіх актыўна працуюць 25-30 чалавек. Займаюцца звычайнай офіснай працай: стварэнне і рэдагаванне дакументаў у Microsoft Office 2010, праца з поштай у Microsoft Outlook 2010 г., серфінг у інтэрнэце, праца з 1С: Прадпрыемства 8.3 і іншая офісная дробязь. Забяспечваюць іх працу 2 досыць магутных сервера з двума Xeon на кожным борце, 32 Гб аператыўнай памяці, RAID SAS кантролер c дыскамі 10k і 15k.
Пакуль колькасць карыстачоў не наблізілася да 30-ці на кожным серверы, нейкіх адчувальных тармажэнняў, якія замінаюць нармальнай працы, не было. Калі ж падышлі да гэтай лічбы, сервера сталі адчувальна тармазіць, раздражняючы карыстальнікаў. Тармажэння лаяліся ў затрымках звычайных аперацый рэдагавання, стварэння, перамяшчэння файлаў, навігацыі па тэчках. Усё накшталт працуе, але як-то павольна, раздражняе, часам карцінка замірае на 1-2-3 секунды, потым працягваецца работа.
Пачаў разбірацца, у чым жа справа. У першую чаргу падумаў на дыскавую падсістэму, якая проста перастала спраўляцца з нагрузкай. Каб пераканацца ў гэтым, адкрыў аснастку «Прадукцыйнасць», дадаў лічыльнік «Сярэдняя даўжыня чаргі дыска» (Average Disk Length Queue / sec), асобнік «_Total» і стаў сачыць. Мае пацверджання апынуліся верныя. Сярэдняе значэнне было ў раёне 2-4, што дрэнна. Тормазы пачынаюць адчувацца пры значэннях ад 1.5 і вышэй. Рэкамендацыі ў інтэрнэце кажуць пра тое, што пры значэнні вышэй 1 дыскавая падсістэма не спраўляецца з нагрузкай і трэба нешта прадпрымаць па павелічэнні прадукцыйнасці. У маім выпадку паляпшаць прадукцыйнасць гэта значыць купляць новыя, досыць дарагія серверныя SSD дыскі, так як зараз і так стаяць дарагія і хуткія SAS дыскі з хуткасцю кручэння 15К.
Я вырашыў правесці яшчэ трохі тэстаў. Абраў той жа лічыльнік, але ў якасці асобніка ўзяў 2 лагічных дыска паасобку. Вось тут мяне чакаў сюрпрыз. Аказваецца, нагрузка была не на ўсе дыскі, а толькі на лагічны сістэмны падзел C :, дзе ўсталяваная аперацыйная сістэма. Ўсе карыстацкія дадзеныя захоўваюцца на дыску D :, нагрузка на яго была ў межах 0.2-0.5. Я ж першапачаткова меркаваў адваротнае. Думаў, што нагружаны раздзел з карыстацкімі дадзенымі, дзе захоўваюцца многогигабайтные PST файлы Outlook, якія пастаянна падгружаюцца падчас працы паштовага кліента.
Варта распавесці аб узроўнях рэйд, якія я выкарыстаў. Зараз стала ясна, што разбіваў дыскі я не правільна, чакаючы павышаную нагрузку на раздзелы з карыстацкімі дадзенымі. Сістэма Windows Server 2008 R2 ўсталяваная на RAID-1, які складаецца з двух дыскаў. Карыстацкія дадзеныя ляжаць на RAID-5, які складаецца з 4-х дыскаў. Чым я кіраваўся, калі разбіваў дыскі менавіта так, цяпер ужо не памятаю, але гэта відавочна няправільна. Думаю, трэба было зрабіць адзін агульны RAID-10 або RAID-6 раздзел, разбіць яго на 2 лагічных і размясціць сістэму асобна ад карыстацкіх дадзеных. Такім чынам была б больш раўнамерная нагрузка на ўсе дыскі.
Галоўнай задачай стала зніжэнне нагрузкі на сістэмны дыск. У першую чаргу перанёс файл падпампоўкі з сістэмнага дыска на карыстацкі падзел. Дапамагло гэта не моцна, так як аператыўнай памяці дастаткова, выкарыстанне файла падпампоўкі было мінімальным. Я стаў глядзець з дапамогай манітора рэсурсаў, што ж нагружае больш за ўсё дыскавую падсістэму. Аказалася, што браўзэры, у маім выпадку Internet Explorer і Google Chrome, а канкрэтна, іх кэшы. Стаў думаць, як перанесці кэш. З хромам апынулася ўсё проста. Для яго існуюць ADM файлы для кіравання наладамі праз групавыя палітыкі дамена windows. Спампаваць іх можна тут https://support.google.com/chrome/a/answer/187202?hl=ru
Далей ствараем новую палітыку, дадаем ADM шаблон, знаходзім наладу «Указаць каталог для карыстацкіх дадзеных«, ставім значэнне «D: \ $ {user_name} \ Application Data \ Chrome». Пасля ўжывання гэтай налады профіль карыстальніка з дыска З: будзе перамешчаны па паказаным шляху. Там жа ў наладах пакажам максімальнай памер папкі кэша: «Устанавіць кэш дыска ў байтах» роўны 50 мб, ставім значэнне ў байтах «52.428.800».
З Internet Explorer ўсё аказалася больш складана. Наладу ў групавы палітыцы, якая дазваляе перамясціць тэчку Temporary Internet Files ў іншае месца я знайсці не змог. Тут быў варыянт выкарыстоўваць перамяшчаўся профіль, але мне не захацелася з гэтым звязвацца дзеля такой задачы. Я знайшоў адну наладу, якая мне часткова магла дапамагчы ў маім пытанні: «Empty Temporary Internet Files folder when browser is closed». Уключыў яе, каб часовыя файлы інтэрнэту аўтаматычна чысціліся пры закрыцці браўзэра. Хоць у мяне наладжана ў GPO перасоўванне тэчкі (Folder Redirection) «AppData (Roaming)» на іншы дыск, ня сістэмны, частка налад ўсё роўна не пераносяцца і застаюцца на сістэмным дыску, у тым ліку і тэчка з часовымі файламі інтэрнэту.
Гэтыя налады дазволілі знізіць нагрузку на сістэмны падзел. Далей было вырашана адмовіцца ад сервернага антывіруса Касперскага, неабходнасць у якім адпала. Раней я наладзіў на тэрміналах Applocker для забароны запуску адвольных выкананых файлаў. Карыстальнікі маглі запускаць толькі строга абмежаваны набор праграм, так што вірусы пры ўсім жаданні яны запусціць б не змаглі. Адключэнне антывіруса яшчэ знізіла нагрузку.
Назіраючы далей за нагрузкай на дыск, заўважыў, што ўвесь час ідзе запіс у файл лога агента сістэмы маніторынгу Zabbix. Аказалася, што пасля ўстаноўкі, падчас адладкі, я паказаў максімальны ўзровень лагаванне, што прыводзіла да бесперапыннай запісу разнастайнай інфармацыі ў лог. Гэта стварала прыстойную нагрузку на дыск, так як запісной інфармацыі ў секунду было вельмі шмат. Адключыў логі, так як сістэма даўно наладжаная і адладжаная, неабходнасці ў логах няма.
Пасля ўсіх маіх дзеянняў нагрузка на дыск знізілася да прымальных значэнняў сярэдняй даўжыні чэргі 1-1.5. Карыстальнікі адчулі паляпшэнне хуткадзейнасці, так што пытанне апгрэйду адкладзены на некаторы тэрмін. Хутчэй трэба будзе замена цалкам сервераў, чым асобна дыскаў.
Онлайн-курс Data Engineer - для распрацоўшчыкаў, адміністратараў СКБД і ўсіх, хто імкнецца павысіць прафесійны ўзровень, асвоіць новыя інструменты і займацца цікавымі задачамі ў сферы працы з вялікімі дадзенымі. Курс не для пачаткоўцаў - трэба прайсці ўступны тэст. Выпускнікі курса змогуць:
- разгортваць, наладжваць і аптымізаваць інструменты апрацоўкі даных;
- адаптаваць датасеты для далейшай працы і аналітыкі;
- ствараць сэрвісы, якія выкарыстоўваюць вынікі апрацоўкі вялікіх аб'ёмаў дадзеных;
- адказваць за архітэктуру дадзеных у кампаніі.
Праверце сябе на ўступным цесцю і глядзіце праграму дэталёва па.
Дапамагла артыкул? ёсць магчымасць аддзячыць аўтара
Com/chrome/a/answer/187202?Дапамагла артыкул?