Shafi da ke amsa a cikin 200 ms ga Redis na gida yana ɗaukar daƙiƙa huɗu da zarar abokin ciniki ya zauna bayan VPN, yayin da ma'aunin uwar garke ke zama a kwance. Rikodin jinkiri bai nuna wani abu sama da millisek ɗaya ba, hoton CPU ɗin ya miƙe, kuma ɗakin yana hidimar wasu abokan ciniki ba tare da korafi ba. Abin da ya canza shi ne nisa, kuma abin da ke ninka nisa shi ne yawan lokutan da lambar ku ke tsayawa tana jira. Bi hanyar buƙatar daga abokin ciniki zuwa waje kuma maganin kusan koyaushe shi ne ƙarancin jira-jira a jere maimakon uwar garke mai sauri.

Fara daga abokin ciniki, ba daga ma'aunin uwar garke ba

Kula da tsarin abokin ciniki tsakanin umarni na farko da na ƙarshe. Idan bin diddigin ya nuna amsa, hutu, sannan umarni na gaba, kana biyan cikakkiyar tafiya a kowace umarni kuma babu adadin daidaita uwar garke da zai canza hakan. Rikodin jinkiri kayan aiki ne mara kyau a nan, domin yana rubuta lokacin aiwatarwa kuma da gangan yana ware I/O na sadarwa. Rikodin jinkiri mai tsabta kusa da ƙarshen hanya mai jinkiri shine alamar matsalar tafiye-tafiye.

Auna hanyar kanta kafin ku taɓa lambar. redis-cli -h redis.example.internal --latency yana aika PING akai-akai kuma yana buga matsakaicin lokacin buƙata da amsa, wanda shine kuɗin ku na kowace musayar. Ninka hakan da adadin umarni a jere a cikin aikin mai amfani ɗaya kuma kana da ƙasan ƙarshen hanya.

Ƙidaya tafiye-tafiyen da aikin mai amfani ɗaya ke buƙata da gaske

Ɗauki ƙarshen hanya ɗaya ka rubuta kowane kiran Redis a jere, har da waɗanda ke ɓoye a cikin ORM, tsakiyar ajiyar zama ko neman alamar fasali. Yawancin ƙarshen hanyoyi masu jinkiri suna yin kira ashirin ko talatin inda uku za su wadatar, kuma ɓoyayyun su ne yawanci mafi rinjaye.

Ba za a iya naɗe sarkar dogaro ba: idan umarni na biyu yana buƙatar maɓallin da na farko ya mayar, jiran gaskiya ne kuma zaɓuɓɓukan kawai sune wani tsarin bayanai daban ko aiki a gefen uwar garke wanda ke bayyana dukan matakin lokaci ɗaya. Karatun masu zaman kansu wani yanayi ne, domin babu abin da ke tilasta ka jira amsar farko kafin aika ta biyu. Yi wa kowane kira alama a matsayin mai dogaro ko mai zaman kansa kafin ka gyara wani abu, kuma siffar maganin za ta bayyana.

Lambar da ta fi muhimmanci ita ce jira-jira a jere, ba jimillar umarni ba. Umarni talatin a cikin tsari ɗaya har yanzu suna cin jira ɗaya.

Ka tara umarnin da ba su dogara da juna ba kawai

Bututu yana jera umarni masu zaman kansu a layi kuma yana tattara amsoshi a jere, yana mai da jira N guda ɗaya. Yawancin abokan ciniki suna nuna shi a matsayin toshe, kira dawo ko mai kula da mahallin maimakon yanayin haɗin daban, don haka duba API ɗin da sigar da aka shigar ta ke bayarwa. Ribar tana ƙaruwa da lokacin tafiya, wanda shine ainihin dalilin da ya sa yake da muhimmanci a VPN kuma da ƙyar ake lura da shi a 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())

Ka ba da transaction=False lokacin da kake son tara kawai. Tare da tsoho abokin ciniki yana naɗe tsarin a cikin MULTI da EXEC, wanda ke mai da shi atomatik kuma yana canza abin da wasu abokan ciniki za su iya lura da shi a tsakiyar tashi. Atomatiyanci shawara ce ta daidaito, ba maɓallin aiki ba, kuma bututu ba ma'amala ba ne kawai saboda duka biyu suna rage tafiye-tafiye.

Karanta kowace amsa maimakon kaɗan daga ƙaddamar da tsari. Umarnin da ke cikin layi na iya mayar da kuskure yayin da tsarin gaba ɗaya ke kammalawa, kuma abokin ciniki da ya watsar da jerin amsoshi yana mai da rubutun da ya gaza ya zama shiru. Kwatanta tsawon jerin amsoshi da adadin umarnin da ka jera.

Ka kiyaye haɗin kai a raye tsakanin ayyuka

Kowane sabon haɗi yana biyan warware suna, musafaha na TCP, musafaha na TLS da AUTH, kuma a kan VPN kowanne daga cikinsu tafiya ce da ba za ka iya tara ta ba. Ƙirƙiri abokin ciniki sau ɗaya a kowace tsari kuma sake amfani da shi, ko yi amfani da tafkin da ɗakin karatun ka ke bayarwa da iyakacin girma. Sake haɗawa a kowace buƙata shine na biyu mafi yawan sanadin wannan alamar bayan jira a kowace umarni.

Ka riƙe sunan masaukai na sirri a cikin saitin maimakon adireshin zahiri. Tabbatar da takardar shaida da asalin sabis har yanzu suna aiki a cibiyar sadarwa ta sirri, kuma liƙa IP yana karyewa a lokacin da mai bayarwa ya sake lambobi yankin cibiyar sadarwa. Idan warware suna shine sashi mai jinkiri, gyara hanyar mai warwarewa maimakon igiyar haɗi.

Sanya ƙayyadadden lokacin soket don hanyar da ta tsaya ta gaza da sauri maimakon rataye ma'aikaci. Sannan tabbatar da cewa ana sake amfani da tafkin da gaske ta hanyar rubuta ƙirƙirar haɗi a cikin abokin ciniki.

Auna girman tsari kafin ya zama matsalar ƙwaƙwalwa

Redis yana riƙe da amsoshi a layi tsawon lokacin tsari, kuma abokin ciniki yana riƙe da sakamakon da aka bincika bayan haka. Bututun manyan dabi'u dubu goma yana musanyar jiran cibiyar sadarwa da hawan ƙwaƙwalwa da dogon hutu a ɓangarorin biyu.

Zaɓi girman tsari bisa yawan amsa maimakon adadin umarni. Ɗaruruwan ƙananan umarni a cikin tsari ɗaya yawanci suna da daɗi, amma ɗari na kaya na kilobyte da yawa ba haka ba ne. Raba ta bytes da kuma ta adadi, kuma ka riƙe kowane tsari cikin kasafin jinkirin da ƙarshen hanya ke da shi da gaske.

Auna daga farko zuwa ƙarshe bayan canjin: redis-cli -h redis.example.internal --latency-history yana nuna ko hanyar kanta ta tabbata, kuma na'urar lokacin buƙatarka tana nuna ko ƙarshen hanya ya inganta. Idan ƙarshen hanya har yanzu yana jinkiri yayin da tarihin jinkiri ya miƙe, sauran kuɗin aiki ne na gefen uwar garke ko serialization naka, kuma mataki na gaba shine bayanin martabar mai sarrafawa maimakon wani canjin tara.

Labarai masu alaƙa