HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Cynhelir y gynhadledd HighLoad ++ nesaf ar Ebrill 6 a 7, 2020 yn St Petersburg Manylion a thocynnau по ссылке. HighLoad++ Moscow 2018. Neuadd “Moscow”. Tachwedd 9, 15:00. traethodau ymchwil a cyflwyniad.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

* Monitro - ar-lein a dadansoddeg.
* Cyfyngiadau sylfaenol platfform ZABBIX.
* Ateb ar gyfer graddio storfa ddadansoddeg.
* Optimeiddio'r gweinydd ZABBIX.
* Optimeiddio UI.
* Profiad o weithredu'r system o dan lwythi o fwy na 40k NVPS.
* Casgliadau byr.

Mikhail Makurov (o hyn ymlaen - MM): - Helo bawb!

Maxim Chernetsov (o hyn ymlaen - MCH): - Prynhawn Da!

MM: - Gadewch imi gyflwyno Maxim. Mae Max yn beiriannydd dawnus, y rhwydwaithwr gorau rwy'n ei adnabod. Mae Maxim yn ymwneud â rhwydweithiau a gwasanaethau, eu datblygiad a'u gweithrediad.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MCH: - A hoffwn ddweud wrthych am Mikhail. Mae Mikhail yn ddatblygwr C. Ysgrifennodd sawl datrysiad prosesu traffig llwyth uchel ar gyfer ein cwmni. Rydyn ni'n byw ac yn gweithio yn yr Urals, yn ninas dynion caled Chelyabinsk, yng nghwmni Intersvyaz. Mae ein cwmni yn ddarparwr gwasanaethau Rhyngrwyd a theledu cebl ar gyfer miliwn o bobl mewn 16 o ddinasoedd.

MM: - Ac mae'n werth dweud bod Intersvyaz yn llawer mwy na darparwr yn unig, mae'n gwmni TG. Gwneir y rhan fwyaf o'n datrysiadau gan ein hadran TG.

A: o weinyddion sy'n prosesu traffig i ganolfan alwadau a chymhwysiad symudol. Bellach mae gan yr adran TG tua 80 o bobl gyda chymwyseddau amrywiol iawn, iawn.

Am Zabbix a'i bensaernïaeth

MCH: - Ac yn awr byddaf yn ceisio gosod cofnod personol a dweud mewn un munud beth yw Zabbix (y cyfeirir ati yma wedi hyn fel “Zabbix”).

Mae Zabbix yn gosod ei hun fel system fonitro y tu allan i'r bocs ar lefel menter. Mae ganddo lawer o nodweddion sy'n gwneud bywyd yn haws: rheolau uwchgyfeirio uwch, API ar gyfer integreiddio, grwpio a chanfod yn awtomatig gwesteiwyr a metrigau. Mae gan Zabbix yr hyn a elwir yn offer graddio - dirprwyon. Mae Zabbix yn system ffynhonnell agored.

Yn fyr am bensaernïaeth. Gallwn ddweud ei fod yn cynnwys tair cydran:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

  • Gweinydd. Ysgrifennwyd yn C. Gyda phrosesu eithaf cymhleth a throsglwyddo gwybodaeth rhwng edafedd. Mae'r holl brosesu yn digwydd ynddo: o dderbyn i arbed i'r gronfa ddata.
  • Mae'r holl ddata yn cael ei storio yn y gronfa ddata. Mae Zabbix yn cefnogi MySQL, PostreSQL ac Oracle.
  • Mae'r rhyngwyneb gwe wedi'i ysgrifennu yn PHP. Ar y rhan fwyaf o systemau mae'n dod gyda gweinydd Apache, ond mae'n gweithio'n fwy effeithlon ar y cyd â nginx + php.

Heddiw hoffem adrodd un stori o fywyd ein cwmni sy'n gysylltiedig â Zabbix...

Stori o fywyd y cwmni Intersvyaz. Beth sydd gennym ni a beth sydd ei angen arnom?

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd
5 neu 6 mis yn ôl. Un diwrnod ar ôl gwaith...

MCH: - Misha, helo! Rwy'n falch fy mod wedi llwyddo i ddal chi - mae sgwrs. Unwaith eto cawsom broblemau gyda monitro. Yn ystod damwain fawr, roedd popeth yn araf ac nid oedd unrhyw wybodaeth am gyflwr y rhwydwaith. Yn anffodus, nid dyma'r tro cyntaf i hyn ddigwydd. Dwi angen eich help. Gadewch i ni wneud i'n monitro weithio dan unrhyw amgylchiadau!

MM: - Ond gadewch i ni synchronize yn gyntaf. Dydw i ddim wedi edrych yno ers cwpl o flynyddoedd. Hyd y cofiaf, fe wnaethon ni gefnu ar Nagios a newid i Zabbix tua 8 mlynedd yn ôl. Ac yn awr mae'n ymddangos bod gennym ni 6 gweinydd pwerus a thua dwsin o ddirprwyon. Ydw i'n drysu unrhyw beth?

MCH: - Bron. 15 gweinydd, rhai ohonynt yn beiriannau rhithwir. Y peth pwysicaf yw nad yw'n ein hachub ar hyn o bryd pan fydd ei angen arnom fwyaf. Fel damwain - mae'r gweinyddwyr yn arafu ac ni allwch weld unrhyw beth. Fe wnaethom geisio optimeiddio'r cyfluniad, ond ni roddodd hyn y cynnydd perfformiad gorau posibl.

MM: - Mae'n amlwg. Wnaethoch chi edrych ar rywbeth, a oeddech chi eisoes wedi cloddio rhywbeth o'r diagnosteg?

MCH: - Y peth cyntaf y mae'n rhaid i chi ddelio ag ef yw'r gronfa ddata. Mae MySQL yn cael ei lwytho'n gyson, gan storio metrigau newydd, a phan fydd Zabbix yn dechrau cynhyrchu criw o ddigwyddiadau, mae'r gronfa ddata yn mynd i oryrru am ychydig oriau yn llythrennol. Dywedais wrthych eisoes am optimeiddio'r cyfluniad, ond yn llythrennol eleni fe wnaethant ddiweddaru'r caledwedd: mae gan y gweinyddwyr fwy na chant gigabeit o araeau cof a disg ar SSD RAIDs - nid oes unrhyw bwynt ei dyfu'n llinol yn y tymor hir. Beth ydyn ni'n ei wneud?

MM: - Mae'n amlwg. Yn gyffredinol, cronfa ddata CTLl yw MySQL. Yn ôl pob tebyg, nid yw bellach yn addas ar gyfer storio archif o fetrigau o'n maint. Gadewch i ni chyfrif i maes.

MCH: - Gadewch i ni!

Integreiddio Zabbix a Clickhouse o ganlyniad i'r hacathon

Ar ôl peth amser cawsom ddata diddorol:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Roedd y rhan fwyaf o'r gofod yn ein cronfa ddata wedi'i feddiannu gan yr archif metrigau a defnyddiwyd llai nag 1% ar gyfer cyfluniad, templedi a gosodiadau. Erbyn hynny, roeddem wedi bod yn gweithredu'r datrysiad data Mawr yn seiliedig ar Clickhouse am fwy na blwyddyn. Roedd cyfeiriad y symudiad yn amlwg i ni. Yn ein Hackathon gwanwyn, ysgrifennais integreiddiad Zabbix gyda Clickhouse ar gyfer y gweinydd a'r frontend. Bryd hynny, roedd gan Zabbix gefnogaeth i ElasticSearch eisoes, a phenderfynon ni eu cymharu.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Cymhariaeth o Clickhouse ac Elasticsearch

MM: - Er mwyn cymharu, gwnaethom gynhyrchu'r un llwyth ag y mae gweinydd Zabbix yn ei ddarparu ac edrych ar sut y byddai'r systemau'n ymddwyn. Fe wnaethon ni ysgrifennu data mewn sypiau o 1000 o linellau, gan ddefnyddio CURL. Fe wnaethom ragdybio ymlaen llaw y byddai Clickhouse yn fwy effeithlon ar gyfer y proffil llwyth y mae Zabbix yn ei wneud. Roedd y canlyniadau hyd yn oed yn rhagori ar ein disgwyliadau:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

O dan yr un amodau prawf, ysgrifennodd Clickhouse dair gwaith yn fwy o ddata. Ar yr un pryd, roedd y ddwy system yn defnyddio'n effeithlon iawn (ychydig bach o adnoddau) wrth ddarllen data. Ond roedd angen llawer iawn o brosesydd ar Elastics wrth recordio:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Yn gyfan gwbl, roedd Clickhouse yn sylweddol well nag Elastix o ran defnydd prosesydd a chyflymder. Ar yr un pryd, oherwydd cywasgu data, mae Clickhouse yn defnyddio 11 gwaith yn llai ar y gyriant caled ac yn perfformio tua 30 gwaith yn llai o weithrediadau disg:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MCH: - Ydy, mae gwaith Clickhouse gyda'r is-system ddisg yn cael ei weithredu'n effeithlon iawn. Gallwch ddefnyddio disgiau SATA enfawr ar gyfer cronfeydd data a chael cyflymder ysgrifennu o gannoedd o filoedd o linellau yr eiliad. Mae'r system allan-o-y-blwch yn cefnogi rhwygo, dyblygu, ac mae'n hawdd iawn ei ffurfweddu. Rydym yn fwy na bodlon ar ei ddefnydd trwy gydol y flwyddyn.

I wneud y gorau o adnoddau, gallwch osod Clickhouse wrth ymyl eich prif gronfa ddata bresennol a thrwy hynny arbed llawer o amser CPU a gweithrediadau disg. Rydym wedi symud yr archif o fetrigau i glystyrau presennol Clickhouse:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Fe wnaethom ryddhau prif gronfa ddata MySQL gymaint fel y gallem ei gyfuno ar un peiriant gyda'r gweinydd Zabbix a rhoi'r gorau i'r gweinydd pwrpasol ar gyfer MySQL.

Sut mae pleidleisio yn gweithio yn Zabbix?

4 fisoedd yn ôl

MM: - Wel, a allwn ni anghofio am y problemau gyda'r sylfaen?

MCH: - Mae hynny'n sicr! Problem arall y mae angen i ni ei datrys yw casglu data yn araf. Nawr mae ein holl 15 gweinydd dirprwyol wedi'u gorlwytho â SNMP a phrosesau pleidleisio. Ac nid oes unrhyw ffordd heblaw gosod gweinyddwyr newydd a newydd.

MM: - Gwych. Ond yn gyntaf, dywedwch wrthym sut mae pleidleisio yn gweithio yn Zabbix?

MCH: - Yn fyr, mae yna 20 math o fetrigau a dwsin o ffyrdd i'w cael. Gall Zabbix gasglu data naill ai yn y modd “cais-ymateb”, neu aros am ddata newydd trwy'r “Trapper Interface”.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Mae'n werth nodi mai'r dull hwn (Trapper) yw'r cyflymaf yn y Zabbix gwreiddiol.

Mae yna weinyddion dirprwyol ar gyfer dosbarthu llwythi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Gall dirprwyon gyflawni'r un swyddogaethau casglu â gweinydd Zabbix, gan dderbyn tasgau ohono ac anfon y metrigau a gasglwyd trwy'r rhyngwyneb Trapper. Dyma'r ffordd a argymhellir yn swyddogol i ddosbarthu'r llwyth. Mae dirprwyon hefyd yn ddefnyddiol ar gyfer monitro seilwaith anghysbell sy'n gweithredu trwy NAT neu sianel araf:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MM: - Mae popeth yn glir gyda phensaernïaeth. Mae angen inni edrych ar y ffynonellau...

Ychydig ddyddiau yn ddiweddarach

Hanes sut enillodd nmap fping

MM: “Rwy’n meddwl imi gloddio rhywbeth.”

MCH: - Dywedwch wrthyf!

MM: – Darganfûm, wrth wirio argaeledd, bod Zabbix yn gwirio uchafswm o 128 o westeion ar y tro. Ceisiais gynyddu'r nifer hwn i 500 a chael gwared ar yr egwyl rhyng-baced yn eu ping (ping) - dyblodd hyn y perfformiad. Ond hoffwn niferoedd mwy.

MCH: - Yn fy practis, weithiau mae'n rhaid i mi wirio argaeledd miloedd o westeion, ac nid wyf erioed wedi gweld unrhyw beth yn gyflymach na nmap ar gyfer hyn. Rwy'n siŵr mai dyma'r ffordd gyflymaf. Gadewch i ni roi cynnig arni! Mae angen inni gynyddu'n sylweddol nifer y gwesteiwyr fesul iteriad.

MM: - Gwirio mwy na phum cant? 600?

MCH: - O leiaf cwpl o filoedd.

MM: - IAWN. Y peth pwysicaf yr oeddwn am ei ddweud yw fy mod wedi canfod bod y rhan fwyaf o bleidleisio yn Zabbix yn cael ei wneud yn gydamserol. Yn bendant mae angen i ni ei newid i fodd asyncronig. Yna gallwn gynyddu'n sylweddol nifer y metrigau a gesglir gan bolwyr, yn enwedig os byddwn yn cynyddu nifer y metrigau fesul iteriad.

MCH: - Gwych! A phryd?

MM: - Fel arfer, ddoe.

MCH: – Cymharwyd y ddwy fersiwn o fping a nmap:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ar nifer fawr o westeion, roedd disgwyl i nmap fod hyd at bum gwaith yn fwy effeithiol. Gan mai dim ond gwirio argaeledd ac amser ymateb y mae nmap, fe wnaethom symud y cyfrifiad colledion i sbardunau a lleihau'r cyfnodau gwirio argaeledd yn sylweddol. Gwelsom mai'r nifer optimaidd o westeion ar gyfer nmap oedd tua 4 mil fesul iteriad. Caniataodd Nmap i ni leihau cost gwiriadau argaeledd CPU deirgwaith a lleihau'r egwyl o 120 eiliad i 10.

Optimeiddio pleidleisio

MM: “Yna fe ddechreuon ni wneud polwyr. Roedd gennym ddiddordeb yn bennaf mewn canfod SNMP ac asiantau. Yn Zabbix, cynhelir y pleidleisio ar yr un pryd a chymerwyd mesurau arbennig i gynyddu effeithlonrwydd y system. Mewn modd cydamserol, mae diffyg argaeledd gwesteiwr yn achosi diraddiad pleidleisio sylweddol. Mae yna system gyfan o daleithiau, mae yna brosesau arbennig - yr hyn a elwir yn pollers na ellir eu cyrraedd, sy'n gweithio gyda gwesteiwyr anghyraeddadwy yn unig:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Mae hwn yn sylwebaeth sy'n dangos y matrics cyflwr, yr holl gymhlethdod y system o drawsnewid sy'n ofynnol er mwyn i'r system barhau i fod yn effeithiol. Yn ogystal, mae pleidleisio cydamserol ei hun yn eithaf araf:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Dyna pam na allai miloedd o ffrydiau poller ar ddwsinau o ddirprwyon gasglu'r swm gofynnol o ddata i ni. Roedd y gweithrediad asyncronig yn datrys nid yn unig y problemau gyda nifer yr edafedd, ond hefyd yn symleiddio'n sylweddol y system cyflwr gwesteiwyr nad oedd ar gael, oherwydd ar gyfer unrhyw nifer a wiriwyd mewn un iteriad pleidleisio, yr amser aros uchaf oedd 1 terfyn amser:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Yn ogystal, gwnaethom addasu a gwella'r system bleidleisio ar gyfer ceisiadau SNMP. Y ffaith yw na all y rhan fwyaf o bobl ymateb i geisiadau SNMP lluosog ar yr un pryd. Felly, gwnaethom ddull hybrid, pan fydd pleidleisio SNMP o'r un gwesteiwr yn cael ei wneud yn anghydamserol:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Gwneir hyn ar gyfer y pecyn cyfan o westeion. Yn y pen draw, nid yw'r modd hwn yn arafach nag un hollol asyncronig, gan fod pleidleisio cant a hanner o werthoedd SNMP yn dal i fod yn llawer cyflymach nag 1 terfyn amser.

Mae ein harbrofion wedi dangos mai'r nifer optimaidd o geisiadau mewn un iteriad yw tua 8 mil gyda phôl SNMP. Yn gyfan gwbl, roedd y newid i'r modd asyncronig yn ein galluogi i gyflymu perfformiad pleidleisio 200 gwaith, gannoedd o weithiau.

MCH: - Dangosodd yr optimeiddiadau pleidleisio a ddeilliodd o hynny y gallwn nid yn unig gael gwared ar yr holl ddirprwyon, ond hefyd lleihau'r cyfnodau ar gyfer llawer o wiriadau, ac ni fydd angen dirprwyon mwyach fel ffordd o rannu'r llwyth.

Tua thri mis yn ol

Newid y bensaernïaeth - cynyddu'r llwyth!

MM: - Wel, Max, a yw'n bryd bod yn gynhyrchiol? Dwi angen gweinydd pwerus a pheiriannydd da.

MCH: - Iawn, gadewch i ni ei gynllunio. Mae'n hen bryd symud o'r pwynt marw o 5 mil metrig yr eiliad.

Bore ar ôl yr uwchraddio

MCH: - Misha, fe wnaethon ni ddiweddaru ein hunain, ond erbyn y bore fe wnaethon ni rolio'n ôl... Dyfalwch pa gyflymder y llwyddwyd i'w gyflawni?

MM: - uchafswm o 20 mil.

MCH: - Ie, 25! Yn anffodus, rydym yn iawn lle y gwnaethom ddechrau.

MM: - Pam? A wnaethoch chi redeg unrhyw ddiagnosteg?

MCH: - Iawn siwr! Dyma, er enghraifft, top diddorol:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MM: - Gadewch i ni wylio. Gwelaf ein bod wedi rhoi cynnig ar nifer enfawr o edafedd pleidleisio:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ond ar yr un pryd ni allent ailgylchu'r system hyd yn oed gan hanner:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ac mae'r perfformiad cyffredinol yn eithaf bach, tua 4 mil metrig yr eiliad:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Oes yna rhywbeth arall?

MCH: - Oes, rhediad un o'r polwyr:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MM: – Yma gallwch weld yn glir bod y broses bleidleisio yn aros am “semaffores”. Dyma'r cloeon:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MCH: - Ansicr.

MM: – Edrychwch, mae hyn yn debyg i sefyllfa lle mae criw o edafedd yn ceisio gweithio gydag adnoddau y gall un yn unig weithio gyda nhw ar y tro. Yna y cyfan y gallant ei wneud yw rhannu'r adnodd hwn dros amser:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ac mae cyfanswm perfformiad gweithio gydag adnodd o'r fath wedi'i gyfyngu gan gyflymder un craidd:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Mae dwy ffordd i ddatrys y broblem hon.

Uwchraddio caledwedd y peiriant, newid i greiddiau cyflymach:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Neu newid y bensaernïaeth ac ar yr un pryd newid y llwyth:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MCH: - Gyda llaw, ar y peiriant prawf byddwn yn defnyddio llai o greiddiau nag ar yr un ymladd, ond maent 1,5 gwaith yn gyflymach o ran amlder fesul craidd!

MM: - Clir? Mae angen ichi edrych ar god y gweinydd.

Llwybr data yn y gweinydd Zabbix

MCH: - Er mwyn darganfod, dechreuon ni ddadansoddi sut mae data'n cael ei drosglwyddo y tu mewn i'r gweinydd Zabbix:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Llun cŵl, iawn? Gadewch i ni fynd drwyddo gam wrth gam i'w wneud yn fwy neu lai yn glir. Mae yna edafedd a gwasanaethau sy'n gyfrifol am gasglu data:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Maent yn trosglwyddo'r metrigau a gasglwyd trwy soced i'r rheolwr Rhagbrosesydd, lle cânt eu cadw mewn ciw:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Mae'r “rheolwr rhagbrosesydd” yn trosglwyddo data i'w weithwyr, sy'n gweithredu cyfarwyddiadau rhagbrosesu ac yn eu dychwelyd yn ôl trwy'r un soced:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ar ôl hyn, mae'r rheolwr rhagbrosesydd yn eu storio yn y storfa hanes:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Oddi yno maent yn cael eu cymryd gan sinkers hanes, sy'n cyflawni cryn dipyn o swyddogaethau: er enghraifft, cyfrifo sbardunau, llenwi'r storfa gwerth ac, yn bwysicaf oll, arbed metrigau yn y storfa hanes. Yn gyffredinol, mae'r broses yn gymhleth ac yn ddryslyd iawn.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MM: - Y peth cyntaf a welsom oedd bod y mwyafrif o edafedd yn cystadlu am yr hyn a elwir yn “storfa ffurfweddu” (yr ardal cof lle mae holl gyfluniadau gweinydd yn cael eu storio). Mae edafedd sy'n gyfrifol am gasglu data yn gwneud llawer o rwystro:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

...gan fod y cyfluniad yn storio nid yn unig metrigau gyda'u paramedrau, ond hefyd ciwiau y mae polwyr yn cymryd gwybodaeth ohonynt am beth i'w wneud nesaf. Pan fydd yna lawer o bolwyr ac mae un yn blocio'r ffurfweddiad, mae'r lleill yn aros am geisiadau:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ni ddylai polwyr wrthdaro

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Felly, y peth cyntaf a wnaethom oedd rhannu'r ciw yn 4 rhan a chaniatáu i pollwyr rwystro'r ciwiau hyn, y rhannau hyn ar yr un pryd, o dan amodau diogel:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Roedd hyn yn dileu cystadleuaeth am y storfa ffurfweddu, a chynyddodd cyflymder polwyr yn sylweddol. Ond yna daethom ar draws y ffaith bod y rheolwr rhagbrosesydd wedi dechrau cronni ciw o swyddi:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Rhaid i'r rheolwr rhagbrosesydd allu blaenoriaethu

Digwyddodd hyn mewn achosion lle nad oedd ganddo berfformiad. Yna'r cyfan y gallai ei wneud oedd cronni ceisiadau o brosesau casglu data ac adio eu byffer nes iddo ddefnyddio'r cof i gyd a chwalu:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

I ddatrys y broblem hon, fe wnaethom ychwanegu ail soced a oedd yn benodol ar gyfer gweithwyr:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Felly, cafodd y rheolwr rhagbrosesydd gyfle i flaenoriaethu ei waith ac, os bydd y byffer yn tyfu, y dasg yw arafu'r symud, gan roi cyfle i weithwyr gymryd y byffer hwn:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Yna fe wnaethom ddarganfod mai un o'r rhesymau am yr arafu oedd y gweithwyr eu hunain, gan eu bod yn cystadlu am adnodd a oedd yn gwbl ddibwys i'w gwaith. Gwnaethom ddogfennu'r broblem hon fel atgyweiriad nam, ac mae eisoes wedi'i datrys mewn fersiynau newydd o Zabbix:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Rydyn ni'n cynyddu nifer y socedi - rydyn ni'n cael y canlyniad

Ymhellach, daeth y rheolwr rhagbrosesydd ei hun yn dagfa, gan ei fod yn un edefyn. Roedd yn dibynnu ar y cyflymder craidd, gan roi cyflymder uchaf o tua 70 mil metrig yr eiliad:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Felly, gwnaethom bedwar, gyda phedair set o socedi, o weithwyr:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ac fe wnaeth hyn ein galluogi i gynyddu'r cyflymder i oddeutu 130 mil metrig:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Eglurir aflinoledd twf gan y ffaith bod cystadleuaeth am y storfa hanes wedi ymddangos. Bu 4 o reolwyr rhagbroseswyr a sinwyr hanes yn cystadlu amdano. Ar y pwynt hwn, roeddem yn derbyn tua 130 mil metrig yr eiliad ar y peiriant prawf, gan ei ddefnyddio gan tua 95% o'r prosesydd:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Tua 2,5 mis yn ôl

Roedd gwrthodiad o snmp-cymuned yn cynyddu NVPs unwaith a hanner

MM: - Max, dwi angen car prawf newydd! Nid ydym bellach yn ffitio i mewn i'r un presennol.

MCH: — Beth sydd genych yn awr ?

MM: – Nawr – 130k NVPs a phrosesydd parod.

MCH: - Waw! Cwl! Arhoswch, mae gennyf ddau gwestiwn. Yn ôl fy nghyfrifiadau, mae ein hangen tua 15-20 mil metrig yr eiliad. Pam mae angen mwy arnom?

MM: “Rydw i eisiau gorffen y swydd.” Hoffwn weld faint y gallwn ei wasgu allan o’r system hon.

MCH: - Ond…

MM: “Ond mae’n ddiwerth i fusnes.”

MCH: - Mae'n amlwg. A'r ail gwestiwn: a allwn gefnogi'r hyn sydd gennym yn awr ar ein pennau ein hunain, heb gymorth datblygwr?

MM: - Dydw i ddim yn meddwl. Mae newid sut mae storfa'r cyfluniad yn gweithio yn broblem. Mae'n effeithio ar newidiadau yn y rhan fwyaf o edafedd ac mae'n eithaf anodd ei gynnal. Yn fwyaf tebygol, bydd yn anodd iawn ei gynnal.

MCH: “Yna mae angen rhyw fath o ddewis arall arnon ni.”

MM: - Mae yna opsiwn o'r fath. Gallwn newid i greiddiau cyflym, tra'n rhoi'r gorau i'r system gloi newydd. Byddwn yn dal i gael perfformiad o 60-80 mil metrig. Ar yr un pryd, gallwn adael gweddill y cod i gyd. Bydd Clickhouse a phleidleisio asyncronaidd yn gweithio. A bydd yn hawdd ei gynnal.

MCH: - Anhygoel! Rwy'n awgrymu ein bod yn stopio yma.

Ar ôl optimeiddio ochr y gweinydd, o'r diwedd roeddem yn gallu lansio'r cod newydd i gynhyrchu. Rhoesom y gorau i rai o'r newidiadau o blaid newid i beiriant gyda creiddiau cyflym a lleihau nifer y newidiadau cod. Rydym hefyd wedi symleiddio'r ffurfweddiad ac wedi dileu macros mewn eitemau data lle bo modd, gan eu bod yn cyflwyno cloi ychwanegol.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Er enghraifft, roedd rhoi'r gorau i'r macro snmp-cymuned, a geir yn aml mewn dogfennaeth ac enghreifftiau, yn ein hachos ni wedi ei gwneud hi'n bosibl cyflymu NVPs ymhellach tua 1,5 gwaith.

Ar ôl dau ddiwrnod yn cynhyrchu

Dileu ffenestri naid hanes digwyddiadau

MCH: - Misha, rydyn ni wedi bod yn defnyddio'r system ers dau ddiwrnod, ac mae popeth yn gweithio. Ond dim ond pan fydd popeth yn gweithio! Roeddem wedi cynllunio gwaith gyda throsglwyddo rhan eithaf mawr o'r rhwydwaith, ac fe wnaethom wirio eto â'n dwylo beth aeth i fyny a beth na wnaeth.

MM: - Methu bod! Fe wnaethon ni wirio popeth 10 gwaith. Mae'r gweinydd yn trin hyd yn oed diffyg rhwydwaith cyflawn ar unwaith.

MCH: - Ydw, dwi'n deall popeth: gweinydd, cronfa ddata, top, austat, logiau - mae popeth yn gyflym... Ond rydyn ni'n edrych ar y rhyngwyneb gwe, ac mae prosesydd “yn y silff” ar y gweinydd a dyma:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MM: - Mae'n amlwg. Gadewch i ni wylio'r we. Canfuom mewn sefyllfa lle roedd nifer fawr o ddigwyddiadau gweithredol, bod y rhan fwyaf o widgets byw yn dechrau gweithio’n araf iawn:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Y rheswm am hyn oedd y genhedlaeth o naidlenni hanes digwyddiadau a gynhyrchir ar gyfer pob eitem yn y rhestr. Felly, fe wnaethon ni roi'r gorau i gynhyrchu'r ffenestri hyn (rhoddwyd sylw ar 5 llinell yn y cod), a datrysodd hyn ein problemau.

Mae'r amser llwytho ar gyfer teclynnau, hyd yn oed pan nad ydynt ar gael yn gyfan gwbl, wedi'i leihau o sawl munud i'r 10-15 eiliad sy'n dderbyniol i ni, a gellir dal i weld yr hanes trwy glicio ar yr amser:

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Ar ôl gwaith. 2 fis yn ôl

MCH: - Misha, a ydych yn gadael? Mae'n rhaid i ni siarad.

MM: - Doeddwn i ddim yn bwriadu. Rhywbeth gyda Zabbix eto?

MCH: - Na, ymlaciwch! Roeddwn i eisiau dweud: mae popeth yn gweithio, diolch! Mae gen i gwrw.

Mae Zabbix yn effeithlon

Mae Zabbix yn system a swyddogaeth eithaf cyffredinol a chyfoethog. Gellir ei ddefnyddio ar gyfer gosodiadau bach allan o'r bocs, ond wrth i anghenion dyfu, mae'n rhaid ei optimeiddio. I storio archif fawr o fetrigau, defnyddiwch storfa addas:

  • gallwch ddefnyddio offer adeiledig ar ffurf integreiddio ag Elasticsearch neu uwchlwytho hanes i ffeiliau testun (ar gael o fersiwn 4);
  • Gallwch chi fanteisio ar ein profiad ac integreiddio â Clickhouse.

Er mwyn cynyddu cyflymder casglu metrigau yn ddramatig, casglwch nhw gan ddefnyddio dulliau asyncronig a'u trosglwyddo trwy'r rhyngwyneb trapiwr i'r gweinydd Zabbix; neu gallwch ddefnyddio clwt i wneud polwyr Zabbix yn asyncronig.

Mae Zabbix wedi'i ysgrifennu yn C ac mae'n eithaf effeithlon. Mae datrys nifer o dagfeydd pensaernïol yn caniatáu ichi gynyddu ei berfformiad ymhellach ac, yn ein profiad ni, gael mwy na 100 mil o fetrigau ar beiriant un prosesydd.

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Yr un clwt Zabbix

MM: – Rwyf am ychwanegu cwpl o bwyntiau. Rhoddir yr adroddiad cyfredol cyfan, pob prawf, rhif ar gyfer y ffurfweddiad a ddefnyddiwn. Rydym bellach yn cymryd tua 20 mil metrig yr eiliad ohono. Os ydych yn ceisio deall a fydd hyn yn gweithio i chi, gallwch gymharu. Mae'r hyn a drafodwyd heddiw yn cael ei bostio ar GitHub ar ffurf clwt: github.com/miklert/zabbix

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

Mae'r clwt yn cynnwys:

  • integreiddio llawn gyda Clickhouse (y gweinydd Zabbix a'r blaen);
  • datrys problemau gyda'r rheolwr rhagbrosesydd;
  • pleidleisio asyncronaidd.

Mae'r clwt yn gydnaws â phob fersiwn 4, gan gynnwys lts. Yn fwyaf tebygol, gydag ychydig iawn o newidiadau, bydd yn gweithio ar fersiwn 3.4.

Diolch i chi am eich sylw.

cwestiynau

Cwestiwn gan y gynulleidfa (o hyn ymlaen – A): – Prynhawn da! Dywedwch wrthyf os gwelwch yn dda, a oes gennych gynlluniau ar gyfer rhyngweithio dwys â thîm Zabbix neu gyda nhw gyda chi, fel nad yw hwn yn ddarn, ond yn ymddygiad arferol Zabbix?

MM: – Byddwn, byddwn yn bendant yn ymrwymo rhai o'r newidiadau. Bydd rhywbeth yn digwydd, bydd rhywbeth yn aros yn y clwt.

A: - Diolch yn fawr iawn am yr adroddiad gwych! Dywedwch wrthyf, ar ôl cymhwyso'r darn, bydd cefnogaeth gan Zabbix yn parhau a sut i barhau i ddiweddaru i fersiynau uwch? A fydd hi'n bosibl diweddaru Zabbix ar ôl eich clwt i 4.2, 5.0?

MM: – Ni allaf ddweud dim am gefnogaeth. Pe bawn i'n gymorth technegol Zabbix, mae'n debyg y byddwn yn dweud na, oherwydd cod rhywun arall yw hwn. O ran y sylfaen cod 4.2, ein safbwynt yw: “Byddwn yn symud gydag amser, a byddwn yn diweddaru ein hunain ar y fersiwn nesaf.” Felly, am beth amser byddwn yn postio darn ar gyfer fersiynau wedi'u diweddaru. Dywedais eisoes yn yr adroddiad: mae nifer y newidiadau gyda fersiynau yn dal yn eithaf bach. Rwy'n meddwl bod y newid o 3.4 i 4 wedi cymryd tua 15 munud i ni.Newidiodd rhywbeth yno, ond nid oedd yn bwysig iawn.

A: – Felly rydych chi'n bwriadu cefnogi'ch ardal a gallwch chi ei osod yn ddiogel wrth gynhyrchu a derbyn diweddariadau mewn rhyw ffordd yn y dyfodol?

MM: - Rydym yn ei argymell yn gryf. Mae hyn yn datrys llawer o broblemau i ni.

MCH: – Unwaith eto, hoffwn dynnu sylw at y ffaith bod y newidiadau nad ydynt yn ymwneud â'r bensaernïaeth ac nad ydynt yn ymwneud â blocio neu giwiau yn rhai modiwlaidd, maent mewn modiwlau ar wahân. Hyd yn oed gyda mân newidiadau gallwch eu cynnal yn eithaf hawdd.

MM: – Os oes gennych ddiddordeb yn y manylion, yna mae “Clickhouse” yn defnyddio'r llyfrgell hanes fel y'i gelwir. Mae'n ddigyswllt - mae'n gopi o'r gefnogaeth Elastics, hynny yw, mae'n ffurfweddadwy. Mae pleidleisio yn newid polwyr yn unig. Credwn y bydd hyn yn gweithio am amser hir.

A: - Diolch yn fawr. Dywedwch wrthyf, a oes unrhyw ddogfennaeth o'r newidiadau a wnaed?

HighLoad++, Mikhail Makurov, Maxim Chernetsov (Intersvyaz): Zabbix, 100kNVPS ar un gweinydd

MM: - Mae dogfennaeth yn ddarn. Yn amlwg, gyda chyflwyniad Clickhouse, gyda chyflwyniad mathau newydd o pollers, mae opsiynau cyfluniad newydd yn codi. Mae gan y ddolen o'r sleid olaf ddisgrifiad byr o sut i'w ddefnyddio.

Ynglŷn â disodli fping â nmap

A: – Sut wnaethoch chi roi hyn ar waith yn y diwedd? A allwch chi roi enghreifftiau penodol: a oes gennych chi strapwyr a sgript allanol? Beth sy'n dod i ben yn gwirio nifer mor enfawr o westeion mor gyflym? Sut ydych chi'n mwyngloddio'r gwesteiwyr hyn? Oes angen i ni eu bwydo i nmap rhywsut, eu cael o rywle, eu rhoi i mewn, rhedeg rhywbeth?..

MM: - Cwl. Cwestiwn cywir iawn! Y pwynt yw hyn. Fe wnaethom addasu'r llyfrgell (ICMP ping, rhan o Zabbix) ar gyfer gwiriadau ICMP, sy'n nodi nifer y pecynnau - un (1), ac mae'r cod yn ceisio defnyddio nmap. Hynny yw, dyma waith mewnol Zabbix, sydd wedi dod yn waith mewnol y pinger. Yn unol â hynny, nid oes angen cydamseru na defnyddio trapiwr. Gwnaethpwyd hyn yn fwriadol er mwyn gadael y system yn gyfan a pheidio â gorfod delio â chydamseru dwy system cronfa ddata: beth i'w wirio, ei uwchlwytho trwy'r poller, ac a yw ein llwytho i fyny wedi torri?.. Mae hyn yn llawer symlach.

A: – A yw'n gweithio i ddirprwyon hefyd?

MM: - Do, ond wnaethon ni ddim gwirio. Mae'r cod pleidleisio yr un peth yn Zabbix a'r gweinydd. Dylai weithio. Gadewch imi bwysleisio unwaith eto: mae perfformiad y system yn golygu nad oes angen dirprwy arnom.

MCH: – Yr ateb cywir i’r cwestiwn yw: “Pam mae angen dirprwy gyda system o’r fath arnoch chi?” Dim ond oherwydd NAT neu fonitro trwy ryw fath o sianel araf...

A: - Ac rydych chi'n defnyddio Zabbix fel alertor, os deallaf yn iawn. Neu a yw eich graffeg (lle mae'r haen archif) wedi symud i system arall, fel Grafana? Neu a ydych chi ddim yn defnyddio'r swyddogaeth hon?

MM: – Pwysleisiaf unwaith eto: rydym wedi cyflawni integreiddio llwyr. Rydym yn arllwys hanes i mewn i Clickhouse, ond ar yr un pryd rydym wedi newid y frontend php. Mae blaen Php yn mynd i Clickhouse ac yn gwneud yr holl graffeg oddi yno. Ar yr un pryd, i fod yn onest, mae gennym ran sy'n adeiladu data mewn systemau arddangos graffig eraill o'r un Clickhouse, o'r un data Zabbix.

MCH: – Yn “Grafan” hefyd.

Sut y gwnaed penderfyniadau ynghylch dyrannu adnoddau?

A: - Rhannwch ychydig o'ch cegin fewnol. Sut y gwnaed y penderfyniad bod angen dyrannu adnoddau ar gyfer prosesu'r cynnyrch o ddifrif? Yn gyffredinol, mae'r rhain yn risgiau penodol. A dywedwch wrthyf, os gwelwch yn dda, yng nghyd-destun y ffaith eich bod yn mynd i gefnogi fersiynau newydd: sut mae'r penderfyniad hwn yn cyfiawnhau o safbwynt rheoli?

MM: - Yn ôl pob tebyg, ni wnaethom adrodd y ddrama hanes yn dda iawn. Cawsom ein hunain mewn sefyllfa lle roedd yn rhaid gwneud rhywbeth, ac yn y bôn aethom gyda dau dîm cyfochrog:

  • Un oedd lansio system fonitro gan ddefnyddio dulliau newydd: monitro fel gwasanaeth, set safonol o atebion ffynhonnell agored yr ydym yn eu cyfuno ac yna ceisio newid y broses fusnes er mwyn gweithio gyda'r system fonitro newydd.
  • Ar yr un pryd, roedd gennym raglennydd brwdfrydig a oedd yn gwneud hyn (amdano'i hun). Dyna ddigwyddodd iddo ennill.

A: - A beth yw maint y tîm?

MCH: - Mae hi o'ch blaen chi.

A: - Felly, fel bob amser, mae angen rhywun angerddol arnoch chi?

MM: - Nid wyf yn gwybod beth yw angerddol.

A: - Yn yr achos hwn, mae'n debyg, chi. Diolch yn fawr iawn, rydych chi'n anhygoel.

MM: - Diolch.

Ynglŷn â chlytiau ar gyfer Zabbix

A: – Ar gyfer system sy'n defnyddio dirprwyon (er enghraifft, mewn rhai systemau gwasgaredig), a yw'n bosibl addasu a chlytio, dyweder, polwyr, dirprwyon ac yn rhannol ragbrosesydd Zabbix ei hun; a'u rhyngweithio? A yw'n bosibl gwneud y gorau o ddatblygiadau presennol ar gyfer system gyda dirprwyon lluosog?

MM: - Rwy'n gwybod bod gweinydd Zabbix yn cael ei ymgynnull gan ddefnyddio dirprwy (mae'r cod yn cael ei lunio a'i gael). Nid ydym wedi profi hyn wrth gynhyrchu. Nid wyf yn siŵr am hyn, ond credaf nad yw'r rheolwr rhagbrosesydd yn cael ei ddefnyddio yn y dirprwy. Tasg y dirprwy yw cymryd set o fetrigau o Zabbix, eu huno (mae hefyd yn cofnodi'r ffurfweddiad, y gronfa ddata leol) a'i roi yn ôl i'r gweinydd Zabbix. Bydd y gweinydd ei hun wedyn yn gwneud y rhagbrosesu pan fydd yn ei dderbyn.

Mae'r diddordeb mewn dirprwyon yn ddealladwy. Byddwn yn edrych arno. Mae hwn yn bwnc diddorol.

A: – Y syniad oedd hyn: os gallwch chi glytio polwyr, gallwch chi eu clytio ar y dirprwy a chlytio'r rhyngweithio â'r gweinydd, ac addasu'r rhagbrosesydd at y dibenion hyn yn unig ar y gweinydd.

MM: - Rwy'n meddwl ei fod hyd yn oed yn symlach. Rydych chi'n cymryd y cod, yn cymhwyso clwt, yna'n ei ffurfweddu yn y ffordd sydd ei angen arnoch chi - casglwch weinyddion dirprwyol (er enghraifft, gydag ODBC) a dosbarthwch y cod glytiog ar draws systemau. Lle bo angen - casglwch ddirprwy, lle bo angen - gweinydd.

A: - Yn fwyaf tebygol, ni fydd yn rhaid i chi glytio'r trosglwyddiad dirprwy i'r gweinydd hefyd?

MCH: - Na, mae'n safonol.

MM: – Yn wir, nid oedd un o'r syniadau yn swnio. Rydym bob amser wedi cynnal cydbwysedd rhwng y ffrwydrad o syniadau a maint y newidiadau a rhwyddineb cefnogaeth.

Rhai hysbysebion 🙂

Diolch am aros gyda ni. Ydych chi'n hoffi ein herthyglau? Eisiau gweld cynnwys mwy diddorol? Cefnogwch ni trwy osod archeb neu argymell i ffrindiau, cwmwl VPS i ddatblygwyr o $4.99, analog unigryw o weinyddion lefel mynediad, a ddyfeisiwyd gennym ni ar eich cyfer chi: Y gwir i gyd am VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps o $ 19 neu sut i rannu gweinydd? (ar gael gyda RAID1 a RAID10, hyd at 24 craidd a hyd at 40GB DDR4).

Dell R730xd 2 gwaith yn rhatach yng nghanolfan ddata Equinix Haen IV yn Amsterdam? Dim ond yma 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV o $199 yn yr Iseldiroedd! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - o $99! Darllenwch am Sut i adeiladu seilwaith Corp. dosbarth gyda'r defnydd o weinyddion Dell R730xd E5-2650 v4 gwerth 9000 ewro am geiniog?

Ffynhonnell: hab.com

Ychwanegu sylw