د ځواب وړ چټک کول

د ځواب وړ چټک کول
دا هیڅ راز پټ نه دی چې د ډیفالټ ترتیباتو سره ځواب نشي کولی خپل دنده په چټکۍ سره ترسره کړي. په مقاله کې به زه د دې لپاره ډیری دلیلونه په ګوته کړم او یو ګټور لږترلږه تنظیمات وړاندیز وکړم چې په احتمالي توګه به ستاسو د پروژې سرعت ډیر کړي.

دلته او لاندې موږ د Ansible 2.9.x په اړه بحث کوو، کوم چې ستاسو په زړه پورې طریقه په تازه جوړ شوي مجازی کې نصب شوی.

د نصبولو وروسته، د خپل پلی بوک سره څنګ ته یو "ansible.cfg" فایل جوړ کړئ - دا ځای به تاسو ته اجازه درکړي چې دا ترتیبات د پروژې سره انتقال کړئ، او دا به په اتوماتيک ډول پورته شي.

پایپ لاین کول

ځینې ​​​​شاید لا دمخه د پایپ لاین کارولو اړتیا په اړه اوریدلي وي ، دا د هدف سیسټم فایل سیسټم ته د ماډلونو کاپي کول ندي ، مګر په بیس 64 کې پوښل شوي زپ آرشیف مستقیم د Python ژباړونکي سټین ته لیږدول ، مګر نور ممکن نه وي ، مګر حقیقت یو حقیقت پاتې دی: دا ترتیب لا تر اوسه کم اټکل شوی دی. له بده مرغه، د لینوکس ځینې مشهور توزیعونه چې د ډیفالټ لخوا د sudo تنظیم کولو لپاره کارول کیږي خورا ښه ندي - نو دا کمانډ tty (ټرمینل) ته اړتیا لري ، نو ځواب ورکونکي دا خورا ګټور ترتیب په ډیفالټ غیر فعال پریښود.

pipelining = True

د حقایقو راټولول

ایا تاسو پوهیږئ چې د ډیفالټ ترتیباتو سره ، د هرې لوبې لپاره ځواب ویونکي د ټولو کوربه توب لپاره د حقایقو راټولول پیل کوي چې پدې کې برخه اخلي؟ په عموم کې، که تاسو نه پوهیږئ، اوس تاسو پوهیږئ. د دې د پیښیدو څخه مخنیوي لپاره ، تاسو اړتیا لرئ د حقایقو راټولولو لپاره د واضح غوښتنې حالت فعال کړئ (ښکاره) یا سمارټ حالت. په دې کې، حقایق به یوازې د هغو میزبانانو څخه راټول شي چې په تیرو ډرامو کې ورسره مخ شوي ندي.
UPD. کله چې کاپي کول، تاسو باید د دې ترتیباتو څخه یو غوره کړئ.

gathering = smart|explicit

د ssh اړیکو بیا کارول

که تاسو کله هم د ډیبګینګ حالت کې ځواب ورکوونکی چلولی وي (د "v" اختیار، له یو څخه تر نهو ځله تکرار شوی)، تاسو ممکن لیدلي وي چې د ssh اړیکې په دوامداره توګه رامینځته کیږي او ماتیږي. نو، دلته یو څو فرعي ټکي هم شتون لري.

تاسو کولی شئ په یوځل کې په دوه کچو کې د ssh اتصال بیا رامینځته کولو مرحلې څخه مخنیوی وکړئ: دواړه مستقیم په ssh پیرودونکي کې ، او کله چې د مدیر څخه اداره شوي کوربه ته فایلونه لیږدول.
د خلاص ssh اتصال بیا کارولو لپاره ، په ساده ډول د ssh پیرودونکي ته اړین کیلي واستوئ. بیا به دا لاندې کارونه پیل کړي: کله چې د لومړي ځل لپاره د ssh اتصال رامینځته کول ، نو دا به اضافي کنټرول ساکټ رامینځته کړي ، په ورپسې نصبولو کې ، دا به د دې ساکټ شتون چیک کړي ، او که بریالی وي ، نو بیا وکاروئ. موجوده ssh پیوستون. او د دې لپاره چې دا ټول معنی ولري ، اجازه راکړئ د اړیکې ساتلو لپاره وخت وټاکو کله چې غیر فعال وي. تاسو کولی شئ په کې نور ولولئ ssh اسناد، او د ځواب ویلو په شرایطو کې موږ په ساده ډول د ssh پیرودونکي ته اړین اختیارونه "فارورډینګ" کاروو.

ssh_args = "-o ControlMaster=auto -o ControlPersist=15m"

د مخکینۍ پرانیستې ssh اتصال بیا کارولو لپاره کله چې اداره شوي کوربه ته فایلونه لیږدول، یوازې یو بل نامعلوم ترتیب مشخص کړئ ssh_tranfer_method. د دې موضوع اسناد خورا ډیر دي بخل او ګمراه کوونکی، ځکه چې دا اختیار خورا ښه کار کوي! خو لوستل د سرچينې کوډ تاسو ته اجازه درکوي پوه شئ چې واقعیا به څه پیښ شي: د dd کمانډ به په منظم شوي کوربه کې پیل شي ، مستقیم د مطلوب فایل سره کار کوي.

transfer_method = piped

په هرصورت، په "پراختیا" څانګه کې دا ترتیب هم شتون لري چیرته نه ځي.

له چاقو مه وېرېږه، له ټوټو وېرېږه

بل ګټور ترتیب فورک دی. دا د کارمندانو پروسو شمیر ټاکي چې په ورته وخت کې به کوربه سره وصل شي او دندې ترسره کړي. د ژبې په توګه د Python د ځانګړتیاوو له امله، پروسې کارول کیږي، نه تارونه، ځکه چې ځواب لاهم د Python 2.7 ملاتړ کوي - ستاسو لپاره هیڅ asyncio، دلته د غیر متناسب چلند معرفي کولو کې هیڅ معنی نشته! د ډیفالټ ځواب وړ منډې پنځه کارګران، مګر که په سمه توګه وپوښتل شي، دا به نور پیل کړي:

forks = 20

زه سمدلاسه تاسو ته خبرداری درکوم چې دلته ممکن د کنټرول ماشین کې د حافظې موجود مقدار پورې اړوند ځینې ستونزې شتون ولري. په بل عبارت، تاسو کولی شئ، البته، فورکس = 100500 ترتیب کړئ، مګر چا وویل چې دا به کار وکړي؟

دا ټول یوځای کول

د پایلې په توګه، د ansible.cfg (ini بڼه) لپاره، اړین ترتیبات ممکن داسې ښکاري:

[defaults]
gathering = smart|explicit
forks = 20
[ssh_connection]
pipelining = True
ssh_args = -o ControlMaster=auto -o ControlPersist=15m
transfer_method = piped

او که تاسو غواړئ هر څه د یو صحي شخص په عادي YaML-انوینٹری کې پټ کړئ، نو دا یو څه ورته ښکاري:

---
all:
  vars:
    ansible_ssh_pipelining: true
    ansible_ssh_transfer_method: piped
    ansible_ssh_args: -o ControlMaster=auto -o ControlPersist=15m

له بده مرغه، دا به د ترتیباتو سره کار ونکړي "راټول = سمارټ / واضح" او "فورکس = 20": د دوی د YaML مساوي شتون نلري. یا موږ دوی په ansible.cfg کې تنظیم کوو، یا موږ د چاپیریال تغیراتو ANSIBLE_GATHERING او ANSIBLE_FORKS څخه تیر کړو.

د Mitogen په اړه
- دا د Mitogen په اړه چیرته دی؟ - تاسو حق لرئ چې پوښتنه وکړئ، ګران لوستونکي. په دې مقاله کې هیڅ ځای نشته. مګر که تاسو واقعیا د دې کوډ لوستلو ته چمتو یاست او معلومه کړئ چې ولې ستاسو د لوبو کتاب د میتوګین سره ټکر کوي ، مګر د وینیلا ځواب سره ښه کار کوي ، یا ولې ورته پلی بوک دمخه ښه کار کاوه ، مګر د تازه کولو وروسته عجیب شیان پیل کړل - ښه ، میتوګین ممکن ستاسو وسیله وي. دا پلي کړئ ، پوه شئ ، مقالې ولیکئ - زه به یې په علاقه سره ولولم.

ولې زه په شخصي توګه مایتوجن نه کاروم؟ ځکه چې ګلیډیولس یوازې تر هغه وخته کار کوي چې دندې واقعیا ساده وي او هرڅه سم وي. په هرصورت، که تاسو یو څه کیڼ یا ښي خوا ته وګرځئ - دا دی، موږ رارسیدلي یو: په ځواب کې، یو څو بې ځایه استثناوې تاسو ته الوتنه کوي، او د انځور بشپړولو لپاره، ټول هغه څه چې ورک دي هغه عام جمله ده "د ټولو څخه مننه. هر څوک ازاد دی.» په عموم کې ، زه نه غواړم د راتلونکي "ځمکې لاندې ټک" د لاملونو په موندلو کې وخت ضایع کړم.

د دې ترتیباتو څخه ځینې د لوستلو پروسې په جریان کې کشف شوي د سرچينې کوډ د ځان توضیحي نوم لاندې د پیوستون پلگ ان "ssh.py". زه د لوستلو پایلې په دې هیله شریکوم چې دا به بل څوک هڅوي چې سرچینې وګوري، دوی یې ولولي، تطبیق یې وګوري، د اسنادو سره پرتله کړي - په هرصورت، ژر یا وروسته دا ټول به تاسو ته مثبتې پایلې راوړي. غوره چانس!

یوازې راجستر شوي کاروونکي کولی شي په سروې کې برخه واخلي. ننوزئمهرباني وکړئ

تاسو د خپلو پروژو د چټکتیا لپاره د لاندې ځواب ورکوونکو ترتیباتو څخه کوم یو کاروئ؟

  • ۸۵٪پایپ لاین = ریښتینی 32

  • ۸۵٪راټولول = هوښیار/ واضح 16

  • ۸۵٪ssh_args = "-o ControlMaster=auto-o ControlPersist=..."24

  • ۸۵٪د لیږد_ میتود = پایپ 8

  • ۸۵٪فورکس = XXX29

  • ۸۵٪له دې څخه هیڅ نه، یوازې Mitogen3

  • ۸۵٪Mitogen + زه به یادونه وکړم چې کوم یو له دې ترتیباتو څخه 4

46 کاروونکو رایه ورکړه. 21 کارن پاتې شو.

د Ansible په اړه نور توکي غواړئ؟

  • ۸۵٪هو، البته54

  • ۸۵٪هو، زه یوازې نور سخت توکي غواړم! 15

  • ۸۵٪نه، او دا د هیڅ شی لپاره اړین ندي

  • ۸۵٪نه، دا پیچلې ده!!!0

69 کاروونکو رایه ورکړه. 7 کاروونکي منع شوي.

سرچینه: www.habr.com

Add a comment