Ṣe CPU ni ó ń dí ẹnu-ọ̀nà VPN rẹ? Kọ́kọ́ ka ẹrù orí kọ̀ọ̀kàn
Àwọn ìdàmẹ́wọ̀ àpapọ̀ ń fi tẹ́ẹ̀dì pàtàkì pamọ́. Ka ẹrù orí kọ̀ọ̀kàn lórí gbígbé tí a ṣàkóso, yọ ọ̀nà kúrò, lẹ́yìn náà yí ètò tí a kọ ọ́ kalẹ̀ kan padà ní gbogbo ìṣesí.
Pinnu irú ààlà wo nínú mẹ́ta tí o ti dé kí o tó ra ẹ̀dà ńlá. Kọ̀ọ̀kàn kan kún fún iṣẹ́ nígbà tí àwọn yòókù wà ní ìdákẹ́ jẹ́ẹ́ ń tọ́ka sí iṣẹ́ kírípítò fún ìṣàn kọ̀ọ̀kàn. Gbogbo kọ̀ọ̀kàn tí ó kún nígbà gbígbé ń tọ́ka sí agbára àpapọ̀. CPU kéré pẹ̀lú iye àtúnránṣẹ́ tí ń pọ̀ síi ń tọ́ka sí ọ̀nà. Ọ̀kọ̀ọ̀kàn ní ìgbésẹ̀ àkọ́kọ́ ọ̀tọ̀, àti pé ọ̀kan ṣoṣo ni ẹ̀dà ńlá yóò yanjú.
Ààlà mẹ́ta, tábìlì kan, àtúnṣe mẹ́ta
| Limit | Reading during a transfer | First move |
|---|---|---|
| Single thread | one core near 100%, siblings idle | spread flows across workers |
| Aggregate CPU | every core busy, load average climbs | capacity, or less work per byte |
| Path or provider | low CPU, retransmits or steal time high | MTU, loss, host contention |
Ka àwọn ìlà gẹ́gẹ́ bí àyẹ̀wò, kì í ṣe ìpele. Tẹ́ẹ̀dì kan ní 100% nígbà tí àwọn yòókù wà ní ìdákẹ́ jẹ́ẹ́ ni èsì tí ó wọ́pọ̀ jùlọ lórí ẹnu-ọ̀nà tí ń gbé ọ̀nà ìsàlẹ̀ ńlá kan, nítorí pé ìpamọ́ ìṣàn yẹn ń ṣiṣẹ́ lórí kọ̀ọ̀kàn kan. Gbogbo kọ̀ọ̀kàn tí ó dí nígbà gbígbé túmọ̀ sí pé ẹ̀rọ náà ti ń ṣe iṣẹ́ tó pọ̀ jùlọ tí ó lè ṣe. CPU kéré pẹ̀lú àtúnránṣẹ́ tí ń gòkè túmọ̀ sí pé ẹ̀rọ ìṣirò ń dúró de nẹ́tíwọ́kì tí ń sọ data nù nígbà gbogbo.
Tún wọn ṣe ní ìtẹ̀lé ẹ̀rí yẹn. Pínpín àwọn ìṣàn láàárín àwọn òṣìṣẹ́ ń ràn ìpẹ̀lú àkọ́kọ́ lọ́wọ́ kò sì ṣe àwọn kejì rárá. Ẹ̀dà ńlá ń ràn kejì lọ́wọ́ ó sì ń fi owó ṣòfò lórí àkọ́kọ́. Àtúnṣe MTU tàbí àdánù ni ọ̀kan ṣoṣo tí ó fọwọ́ kàn kejì. Ra agbára ṣáájú kí o tó mọ ìlà tí o wà ni ẹ̀dà gbígbóná ti ìfòjú.
Ya tẹ́ẹ̀dì tí a kàn mọ́ra kúrò lọ́dọ̀ olùgba tí ń ṣiṣẹ́
Bẹ̀rẹ̀ pẹ̀lú ìlò orí kọ̀ọ̀kàn, kí kọ̀ọ̀kàn kan tí a kàn mọ́ra lè má ṣe fi ara pamọ́ nínú ìdàmẹ́wọ̀ àpapọ̀. Ìṣesí kan nígbà gbígbé ń fi hàn bóyá ẹrù náà dọ́gba tàbí ó ní àwọn ìpé. Àwọn ìrísí méjèèjì ń funni ní ìsọfúnni, àti pé àwòrán tí ó ní ìpé sábà máa ń túmọ̀ sí pé fèrèsé àyẹ̀wò mú ìgbòkègbodò olùṣètò dípò ìpamọ́.
mpstat -P ALL 1 5
So kọ̀ọ̀kàn tí ń ṣiṣẹ́ mọ́ ìlànà kan, lẹ́yìn náà mọ́ tẹ́ẹ̀dì kan. Ìṣesí àtẹ̀lé tí ó wà nísàlẹ̀ ń pa tẹ́ẹ̀dì òbí àti ọmọ mọ́ pọ̀, èyí tí ó ṣe pàtàkì nígbà tí daemon bá pín fún gbogbo ìsopọ̀:
pidstat -u -t -p $(pgrep -f 'openvpn|wireguard|ipsec') 1 10
Ìpamọ́ inú kẹ́nẹ́lì kì í farahàn nínú olùka ìlànà ààyè olùlò rárá. Ṣàyẹ̀wò àwọn tẹ́ẹ̀dì lọ́tọ̀ kí o sì fi ìríran yẹn wé ìṣirò ìlànà:
top -H -b -n 1 | head -20
Ka àwọn olùka socket nígbẹ̀yìn, nítorí pé wọ́n ni ó ń pinnu bóyá CPU àfikún yóò ràn lọ́wọ́ rárá. Àtúnránṣẹ́ tí ń gòkè nígbà tí CPU dọ́gba kì í ṣe ìṣòro ẹ̀rọ ìṣirò. Jẹ́ kí gbígbé náà ń ṣiṣẹ́ nígbà tí o ń ṣàyẹ̀wò, bí bẹ́ẹ̀ kọ́ àwọn nọ́mbà yóò ṣàpèjúwe ẹ̀rọ tí kò ṣiṣẹ́:
ss -ti | grep -E 'retrans|cwnd|rtt'
Gbígbé tí a ṣàkóso, tí a ṣe lẹ́ẹ̀mejì
Àwọn olùka aláìṣiṣẹ́ kì í fi nkankan hàn, àti pé ìdánwò lórí ibi ìparí àìtọ́ kì í fi bẹ́ẹ̀ hàn. Yan alábàáṣepọ̀ kan, ibi àfojúsùn kan àti gbígbé aṣojú kan tí a gbà ọ́ láàyè láti ṣe, lẹ́yìn náà gbasilẹ ìwọlé àti ìdádúró ìbáraẹnisọ̀rọ̀ nínú fèrèsé kan náà. Ẹnu-ọ̀nà lè kún nígbà tí ẹ̀dà ńlá kan ṣì ń parí, àti pé ìtẹ̀lé ìdádúró ni ohun tí àwọn olùlò ń rí ní ti gidi. Kọ gbígbé náà, iye alábàáṣepọ̀ àti ẹ̀dà daemon lẹ́gbẹ̀ẹ́ àwọn nọ́mbà.
Tún ìṣesí náà ṣe pẹ̀lú àwọn ìṣàn tí ó jọra. Ìpọ̀sí káàkiri àwọn ìṣàn ń dábàá fèrèsé fún ìṣàn kọ̀ọ̀kàn; dídúró dọ́gba pẹ̀lú kọ̀ọ̀kàn tí a kàn mọ́ra ń dábàá ìṣiṣẹ́.
Lẹ́yìn náà tún ṣe lẹ́ẹ̀kan sí i pẹ̀lú àwọn ẹrù iṣẹ́ àṣàyàn tí a dá dúró. Àpamọ́, olùránṣẹ́ ìwé-ìrántí tàbí ibi ìpamọ́ data lórí olùgba kan náà lè dá ìdàmẹ́wọ̀ tí ń ṣiṣẹ́ tí kò ní ìbáṣepọ̀ pẹ̀lú àwọn ọ̀nà ìsàlẹ̀. Bí CPU ṣì kàn mọ́ra nígbà tí olùgba náà dákẹ́, ẹ̀rí ń tọ́ka sí ìlànà VPN. Bí ó bá sẹ̀, ìwọ ń wọn aládùúgbò, ẹnu-ọ̀nà kò sì tíì ṣe ìṣòro rárá.
Yọ ọ̀nà kúrò kí o tó ra ohun-ẹ̀rọ
Àtúnránṣẹ́ tí ń gòkè, fèrèsé ìdínà tí ń dín kù àti àkókò ìpadà tí ń pọ̀ síi gbogbo wọn ń tọ́ka jìnnà sí ẹ̀rọ ìṣirò. Fi MTU ọ̀nà ìsàlẹ̀ wé MTU ọ̀nà, ṣàyẹ̀wò ìsopọ̀ ìsàlẹ̀ fún àdánù, kí o sì jẹ́rìí pé ọ̀nà òkè ti alábàáṣepọ̀ fúnra rẹ̀ kì í ṣe ààlà. Ẹnu-ọ̀nà ńlá kì í tún ìsopọ̀ tí ń sọ pákítí nù ṣe, àwọn olùlò sì ń ṣàpèjúwe àwọn àbùkù méjèèjì pẹ̀lú ọ̀rọ̀ kan náà. Olùka àtúnránṣẹ́ ń yà wọ́n sọ́tọ̀ ní ìṣẹ́jú díẹ̀.
Ní orí sáfà fúyẹ́, fi àwọn ìwọ̀n olùpèsè kún àwọn ti àlejò. Àkókò tí a jí ni ọ̀nà tí àtàtà ọjà ń fi hàn nínú àlejò, kò sì sí àtúnsò nínú àlejò tí yóò yọ ọ́ kúrò. Àwọn olùka àlejò kò lè rí olùgba, nítorí náà àwòrán àlejò tí ó mọ́ kì í ṣe ẹ̀rí olùgba tí ó ní ìlera.
Ìyípadà kan, ìwọ̀n kan
Yan àbá tí ẹ̀rí ń ti lẹ́yìn, lẹ́yìn náà yí ètò tí a ti ṣe àtìlẹ́yìn fún gan-an kan padà: iye òṣìṣẹ́, àṣàyàn ìsọ̀kalẹ̀ ẹrù tí a kọ sílẹ̀, tàbí ìwọ̀n ẹ̀dà. OpenVPN ń tẹ àwọn ìtọ́nisọ́nà àtúnṣe ìṣòro iṣẹ́ lórí pínpín kan náà láàárín ìṣiṣẹ́ àti gbígbé jáde: Àtúnṣe ìṣòro iṣẹ́ OpenVPN.
Jẹ́rìí pé àṣàyàn ìsọ̀kalẹ̀ ẹrù ń ṣiṣẹ́ ní ti gidi dípò gbígbẹ́kẹ̀lé àsíá, lẹ́yìn náà tún gbígbé kan náà ṣe kí o sì fi ìfararora wé ìfararora. Ìyẹn ni ọ̀nà kan ṣoṣo láti yà ìlọsíwájú gidi kúrò lọ́dọ̀ ọ̀sán ìdákẹ́jẹ́. Tọ́jú ibi àyẹ̀wò tí o lè dá padà, nítorí ní ìyípadà kejì ni àwọn ènìyàn ń pàdánù irúfẹ́ ẹni tí ó ràn lọ́wọ́. Ìyípadà kan ní gbogbo ìṣesí ń lọra fún ọjọ́ kan ó sì ń yára fún oṣù kan.
Ma ṣe sọ ìjẹ́rìí tàbí ẹgbẹ́ ààbò di aláìlera láti jẹ́ kí àwòrán náà dára. Bí CPU kò bá tẹ̀lé àmì náà, padà sí àyẹ̀wò ọ̀nà àti ohun èlò dípò gbígbé ìpele lórí ìfòjú.