Tógann leathanach a fhreagraíonn in 200 ms in aghaidh Redis áitiúil ceithre shoicind nuair a shuíonn an cliant taobh thiar de VPN, agus fanann cuntair an fhreastalaí díomhaoin. Ní thaispeánann an log mall aon rud os cionn milliseacand, tá graf na LAP cothrom, agus freastalaíonn an ásc ar chliaint eile gan chasaoid. Is é an t-achar a d'athraigh, agus is é an rud a iolraíonn an t-achar líon na n-uaireanta a stopann do chód agus a fhanann sé. Siúil cosán an iarratais ón gcliant amach agus is é an réiteach beagnach i gcónaí níos lú feithimh sheicheamhaigh seach freastalaí níos tapúla.

Tosaigh ón gcliant, ní ó mhéadracht an fhreastalaí

Breathnaigh ar phróiseas an chliaint idir an chéad ordú agus an ceann deireanach. Má thaispeánann an riandúil freagra, sos, agus ansin an chéad ordú eile, tá turas iomlán anonn is anall á íoc agat in aghaidh gach orduithe agus ní athróidh aon mhéid de thiúnadh freastalaí é sin. Is é an log mall an uirlis mhícheart anseo, mar taifeadann sé am forghníomhaithe agus fágadh I/O cumarsáide amach d'aon ghnó. Is é log mall glan in aice le críochphointe mall síniú fadhb turais anonn is anall.

Tomhais an cosán féin sula ndéanann tú teagmháil le cód. Seolann redis-cli -h redis.example.internal --latency PINGanna arís agus arís agus priontálann sé an meán-am iarratais agus freagartha, arb é do chostas in aghaidh an mhalartaithe é. Iolraigh é sin faoi líon na n-orduithe seicheamhacha in aon ghníomh úsáideora agus tá urlár agat don chríochphointe.

Líon na dturas anonn is anall a theastaíonn ó aon ghníomh úsáideora amháin

Tóg aon chríochphointe amháin agus scríobh síos gach glao Redis in ord, lena n-áirítear iad siúd atá i bhfolach taobh istigh de ORM, de mheánbogearra seisiúin nó de chuardach feature flag. Is é a fhaightear amach go ndéanann formhór na gcríochphointe mall fiche nó tríocha glao in áit a ndéanfadh trí cheann an gnó, agus is iad na cinn i bhfolach an tromlach de ghnáth.

Ní féidir slabhra spleáchais a chur le chéile: má theastaíonn an eochair a thugann an chéad ordú ón dara hordú, tá an fheitheamh fíor agus is iad na roghanna amháin múnla sonraí eile nó oibríocht ar thaobh an fhreastalaí a chuireann an chéim iomlán in iúl ag an am céanna. Is cás eile iad léamha neamhspleácha, mar ní chuireann aon rud iallach ort fanacht leis an gcéad fhreagra sula seolann tú an dara ceann. Marcáil gach glao mar spleách nó neamhspleách sula n-athraíonn tú aon rud, agus éiríonn cruth an réitigh soiléir.

Is é an uimhir atá tábhachtach feithimh sheicheamhacha, ní orduithe iomlána. Cosnaíonn tríocha ordú in aon bhaisc fós aon fheitheamh amháin.

Ná déan baisc de na horduithe sin amháin nach bhfuil spleách ar a chéile

Cuireann píblíne orduithe neamhspleácha sa scuaine agus bailíonn sé na freagraí in ord, rud a iompaíonn N feithimh ina n-aon. Nochtaíonn formhór na gcliant é mar bhloc, mar chúlfhreagairt nó mar bhainisteoir comhthéacs seach mar mhód naisc ar leith, mar sin seiceáil an API a sheachadann do leagan suiteáilte. Méadaíonn an gnóthachan le ham an turais anonn is anall, agus sin go díreach an fáth a bhfuil sé tábhachtach ar VPN agus ar éigean a thugtar faoi deara ar localhost.

import redis

r = redis.Redis(host="redis.example.internal", port=6379, socket_timeout=2)
pipe = r.pipeline(transaction=False)
for key in ("user:1001", "user:1002", "user:1003"):
    pipe.get(key)
print(pipe.execute())

Cuir transaction=False ar aghaidh nuair nach dteastaíonn uait ach baiscíocht. De réir réamhshocraithe fillfidh an cliant an bhaisc i MULTI agus EXEC, rud a fhágann go bhfuil sí adamhach agus a athraíonn an rud is féidir le cliaint eile a bhreathnú i lár eitilte. Is cinneadh cruinnis é adamhacht seach cnaipe feidhmíochta, agus ní idirbheart í píblíne díreach toisc go laghdaíonn an dá rud turais anonn is anall.

Léigh gach freagra seach an t-aighneacht bhaisc amháin. Féadfaidh ordú sa scuaine earráid a thabhairt ar ais agus an bhaisc ina hiomláine á críochnú, agus iompaíonn cliant a chaitheann an liosta freagraí amach scríbhneoireacht theipte ina scríbhneoireacht chiúin. Cuir fad an liosta freagraí i gcomparáid le líon na n-orduithe a chuir tú sa scuaine.

Coinnigh an nasc beo idir gníomhartha

Íocann gach nasc nua as réiteach ainmneacha, as croitheadh láimhe TCP, as croitheadh láimhe TLS agus as AUTH, agus thar VPN is turas anonn is anall gach ceann acu sin nach féidir leat a bhaiscíocht as. Cruthaigh an cliant uair amháin in aghaidh an phróisis agus athúsáid é, nó bain úsáid as an linn a sholáthraíonn do leabharlann le méid teoranta. Is é athnascadh in aghaidh gach iarratais an dara cúis is coitianta leis an symptom seo tar éis feithimh in aghaidh an orduithe.

Coinnigh an t-ainmhóstach príobháideach sa chumraíocht seach seoladh litriúil. Tá bailíochtú teastais agus féiniúlacht seirbhíse fós i bhfeidhm ar líonra príobháideach, agus briseann pionnú IP an nóiméad a ndéanann an soláthraí fo-líonra a athuimhriú. Más é réiteach na n-ainmneacha an chuid mhall, sásaigh cosán an réiteora seach an teaghrán naisc.

Socraigh amúchadh socket follasach ionas go dteipfidh ar thollán iontaofa go tapa seach oibrí a chrochadh. Ansin deimhnigh go bhfuil an linn á hathúsáid i ndáiríre trí chruthú naisc a logáil sa chliant.

Tomhais an bhaisc sula n-éiríonn sí ina fadhb chuimhne

Coinníonn Redis freagraí scuainithe ar feadh ré na baisc, agus coinníonn an cliant an toradh parsáilte ina dhiaidh sin. Malartaíonn píblíne de dheich míle luach mór feithimh líonra ar bhuilte cuimhne agus ar shosa fada ag an dá cheann.

Roghnaigh méid na baisc de réir mhéid na bhfreagraí seach de réir líon na n-orduithe. Bíonn cúpla céad ordú beag i mbaisc amháin compordach de ghnáth, ach ní bhíonn céad ualach ilchililíteach. Roinn de réir beart chomh maith le de réir líon, agus coinnigh gach baisc laistigh den bhuiséad moille atá ag an gcríochphointe i ndáiríre.

Tomhais ó cheann go ceann tar éis an athraithe: taispeánann redis-cli -h redis.example.internal --latency-history an bhfuil an cosán féin cobhsaí, agus taispeánann do theirmeseoir iarratais féin ar tháinig feabhas ar an gcríochphointe. Má tá an críochphointe fós mall agus stair na moille cothrom, is é an costas atá fágtha obair ar thaobh an fhreastalaí nó do shraithiú féin, agus is é an chéad chéim eile próifíl den láimhseálaí seach athrú baiscíochta eile.

Ailt ghaolmhara