پنځه ویشت دقیقې ګټور ډیټابیس کار تقریباً هېڅ تولید نه کوي، او د لارې له هرې وسیلې څخه دا بهیر غیر فعال ښکاري۔ غیر فعال حالت هغه څه دي چې راټولیږي۔ وروسته راپور تل یو شکل لري: پوښتنه روانه وه، بیا سیشن ورک شو، او پایله هېڅکله ونه رسېده۔

څلور ګوتې اچونې پرېکړه کوي چې آرام سیشن ژوندی پاتې کیږي که نه، او له ساکټ څخه بهر ولاړېږي۔ دوی په ترتیب سره وکړئ، ځکه هر یو فرض کوي چې پخوانی پوړ خپل کار کوي۔

کوم بهیر چوپ کیږي

مهمه اړیکه هغه ده چې د ډیټابیس ټرافیک وړي، د خپلو پتو او پورټونو له مخې پېژندل کیږي۔ بل هېڅ شی یې تازه نه کوي۔ ګیټوې ته ping، له همدې هوسټ څخه دوهم SQL اړیکه او د تونل خپله زړه دربېدنه جلا بهیرونه دي او په هر هغه وسیله چې دوی تعقیبوي جلا حالت لري۔

ss -tio dst 10.60.4.20
sysctl net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl net.ipv4.tcp_keepalive_probes

د ساکټونو لیست د ژوندي اړیکې ټایمرونه او د کتار حالت ښیي، چې له لاسرسي ازموینې څخه ډېر معلومات ورکوي۔ د sysctl ارزښتونه د keepalive چلند لپاره د کرنل ډیفالټ ارزښتونه دي، او بله برخه تشریح کوي چې ولې کېدای شي هېڅکله ستاسو سیشن ته ونه لګښت شي۔ هغه ډیفالټ چې هېڅکله نه فعالیږي د هېڅ ډیفالټ نه شتون څخه نه شي توپیرېدلی۔

هغه پتې، پورټونه او انټرفیس ولیکئ چې اړیکه یې کاروي۔ کله چې سیشن مړ شي، همدا تفصیلات تاسو ته اجازه درکوي له سمې وسیلې وپوښتئ چې څه یې وکړل، د دې پرځای چې وپوښتئ شبکه روانه وه که نه۔

د بېکارۍ پالیسي پای ته رسیږي که محدودیت لګوي

دوه پالیسۍ یو شان علامه رامنځته کوي او مخالف غبرګون غواړي۔ د بېکارۍ مهال پای هغه حالت لري کوي چې وړ تګ راتګ یې تازه کولی شو، او keepalive کولی شي د دې مخه ونیسي۔ د سیشن مطلق حد بهیر له یوې ټاکلې مودې وروسته پرته له فعالیت لري کوي، او هېڅ keepalive دې ته بدلون نه ورکوي۔

د هر منځګړي له خاوند څخه وپوښتئ چې کومه یې عملي کوي۔ اور وژونکی، NAT وسیله، د بار برابرونکی او د وريځې دروازه ټول کولی شي حالت وساتي، او اړ نه دي چې سره یوځای شي۔ تر ټولو تنګه هغه موده ټاکي چې تاسو یې باید مات کړئ۔

دا توپیر هم درته وایي چې کله تنظیم بند کړئ۔ که پالیسي مطلق حد وي، سم حل لنډ کار واحد، د بیا پیل وړ کار یا تصویب شوی استثنا دی، او لاندې ګوتې اچونه به یوازې دا تایید کړي چې keepalive هېڅ نه بدل کړل۔

د لینکس ډیفالټ ارزښتونو شاته ساکټ سویچ

keepalive د هر ساکټ لپاره اختیاري دی۔ د کرنل ډیفالټ ارزښتونه تشریح کوي چې کله ساکټ میکانېزم فعال کړ، probes څنګه چلند کوي، او دوی یې د موجوده اړیکو لپاره نه فعالوي۔ هغه اپلیکیشن چې هېڅکله یې نه غواړي هېڅ probe نه ترلاسه کوي، هر څه چې sysctl ارزښتونه ووایي۔

له همدې امله یوازې د عددونو پورته کول د ډیټابیس کلاینټ لپاره هېڅ نه بدلوي۔ د کلاینټ کتابتون یا اپلیکیشن باید میکانېزم فعال کړي، او چېرې چې سټک د هرې اړیکې کنټرولونه وړاندې کوي، محدوده تنظیم له ټول هوسټ بدلون څخه غوره ده چې نااړونده خدمتونه اغېزمن کوي۔

تر لومړي probe پورې وقفه هم د پوښتنې مهال پای نه دی۔ روغه اړیکه د probes ترمنځ چوپه پاتې کیږي، او مړ سیال د probe وقفې او شمېر له مخې پېژندل کیږي۔ دغه درې ارزښتونه د یو مهال پای په توګه لوستل داسې تنظیماتو ته رسوي چې نیمګړتیا یا ډېره ناوخته یا ډېره بې صبره پېژني۔ دوی پېژندنه کنټرولوي، د اپلیکیشن صبر نه۔

EXPIRE_TIME د ډیټابیس تنظیم دی، د شبکې ترمیم نه

Oracle Net خپل ژونديتوب میکانېزم وړاندې کوي، چې د بهیر په اغېزمن پروفایل کې تنظیم شوی نه په یوه خپل سري فایل کې چې ناڅاپه ورته نوم ولري۔ ارزښت په دقیقو څرګندیږي۔

SQLNET.EXPIRE_TIME = 5

د هغې اصلي موخه د سرور په اړخ د مړو اړیکو پېژندنه ده، او په هغو پلیټفارمونو کې چې پرمختللی ماډل ملاتړ کوي د دغو اړیکو لپاره د TCP keepalive چلند هم تنظیموي۔ دا ګټور ځانګړتیا ده: د ډیټابیس پوړ کولی شي probes تنظیم کړي پرته له دې چې له کلاینټ اپلیکیشن وغواړي بدلون وکړي۔

پورته بېلګه ارزښت د فرض شوې مودې پر وړاندې همغږی انتخاب دی، نه سپارښتنه۔ مستند عمومي لارښود اوږد وقفه ده، او سم عدد د نصب شوي پلي کولو، هغه probe لګښت چې تاسو یې منئ او په لار کې د تازه کولو حقیقي قواعدو پورې تړلی دی۔ تنظیم په هغه پروفایل کې ږدئ چې اړوند بهیر یې لولي، او تایید کړئ چې بهیر هغه اخیستی۔ Oracle د پروفایل ځایونه او د پېژندنې چلند په خپل د پارامترونو حواله کې مستند کوي۔

چوپه وقفه وآزموئ، بیا د بیا رغونې پلان جوړ کړئ

نوې اجازه شوې اړیکه د هغې مودې څخه اوږده چوپه دوره تېره کړئ چې تاسو یې ماتول غواړئ، او د ژونديتوب ټرافیک او د اپلیکیشن پایله وګورئ۔ هغه پېلوډ منځپانګه مه نیسئ چې تاسو ته اړینه نه ده؛ ټایمرونه او د اړیکې حالت پوښتنې ته ځواب وایي۔

ss -tio dst 10.60.4.20
# after the quiet interval, same command
ls -l "$ORACLE_HOME/network/admin/sqlnet.ora"

که سیشن بیا هم ورک شي، موده د هغې وسیلې ده چې تاسو لا نه ده پوښتې، یا پالیسي مطلق حد ده۔ که ژوندی پاتې شي، ولیکئ کوم پوړ بدل شو تر څو بله چوپه عملیه څېړنه تکرار نه کړي۔

په پای کې پرېکړه وکړئ چې کله اړیکه واقعاً لوېږي څه پېښیږي، ځکه د ژونديتوب ګوتې اچونې فریکونسي کموي او هېڅکله امکان نه لري کوي۔ د ډیټابیس عملیې ثبت شوې پایله له بیا لېږلو مخکې معلومه کړئ: د ځواب ورکېدل د دې په اړه هېڅ نه ثابتوي چې کار تایید شو که نه۔ د هر هغه څه لپاره چې باید د لپټاپ تړل کېدو یا د تونل بیا پیل کېدو ته ژوندی پاتې شي، د سرور ملکیت کار چې پایله یې دوامداره وي غښتلی ډیزاین دی، او keepalive د مهال ویشونکی نه دی۔

اړوندې مقالې