এসকিউএল সার্ভার: লক যোগাযোগের বাফার সংস্থানগুলিতে ডেডলক হয়েছে


30

এই অচলাবস্থার ধরণের সম্ভাব্য কারণ কী হতে পারে? (সাধারণভাবে অচলাবস্থা নেই)

যোগাযোগ বাফার সংস্থানগুলিকে লক করুন

এই নির্দেশিত সিস্টেমটি কি স্মৃতিশক্তি কম এবং বাফারগুলি গণনার সীমা ছাড়িয়ে যায়?

বিস্তারিত ত্রুটি:

লেনদেন (প্রক্রিয়া আইডি 59) অন্য প্রক্রিয়াটির সাথে লক যোগাযোগের বাফার রিসোর্সে ডেডলকড ছিল এবং অচলাবস্থার শিকার হিসাবে নির্বাচিত হয়েছে। লেনদেনটি পুনরায় চালু করুন

উত্তর:


24

সাধারণত দেখা যায় এমন সম্পূর্ণ বার্তা:

লেনদেনে লেনদেন (প্রক্রিয়া আইডি 53) অচল করে দেওয়া হয়েছিল | অন্য একটি প্রক্রিয়ার সাথে যোগাযোগের বাফার রিসোর্সগুলি এবং অচলাবস্থার শিকার হিসাবে বেছে নেওয়া হয়েছে। লেনদেনটি পুনরায় চালু করুন।

এই লক টাইপটি সাধারণত ডেডলক ক্যোয়ারির সাথে দেখা যায় যে এসকিউএল সার্ভার সমান্তরাল হিসাবে সম্পাদন করেছে, কখনও কখনও "আন্তঃ-ক্যোয়ারী সমান্তরাল ডেডলকস" হিসাবে পরিচিত। আমি কয়েকটি বক্তব্য দেখেছি যে এটি সিস্টেমের সংস্থানগুলিও কম দেখায়, যা আমি অনুমান করি যে এটি একটি অল্প মাত্রায় জড়িত হতে পারে।

আপনি যদি এক্সএমএল ডেডলক গ্রাফটি টানেন তখন এটি একটি সমান্তরাল অচলাবস্থা কিনা তা নির্ধারণ করার জন্য আমি যে সাধারণ গাইডলাইনটি লক্ষ্য করেছি তা হ'ল (যেটি ২০০৮ এবং এর উচ্চতর সিস্টেম_সামগ্রীতে করা যেতে পারে) আপনি বিভিন্ন প্রক্রিয়া আইডি দেখতে পাবেন যা একই কোডের বিট দেখায় এক্সিকিউশন স্ট্যাক

পাশাপাশি, অচলাবস্থার গ্রাফের সংস্থান তালিকাটি দেখে এবং ওয়েটার ইভেন্টের ধরণটি লক্ষ্য করে। তারা সাধারণত "ই_এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স" বা এই জাতীয় কিছু দেখায়:

<waiter-list>
 <waiter event="e_waitPipeGetRow" type="consumer" id="process821d828" />
 <waiter event="e_waitPipeGetRow" type="consumer" id="process8209198" />
 <waiter event="e_waitPipeGetRow" type="consumer" id="process3827c18" />
 <waiter event="e_waitPipeGetRow" type="consumer" id="process3809eb8" />
 <waiter event="e_waitPipeGetRow" type="consumer" id="process8226b08" />
 <waiter event="e_waitPipeGetRow" type="consumer" id="process9acb6d8" />
 <waiter event="e_waitPipeGetRow" type="consumer" id="process6188d7828" />
 <waiter event="e_waitPipeGetRow" type="consumer" id="process381cef8" />
</waiter-list>

সমস্যাটি সমাধান করার চেষ্টা করার জন্য অনলাইনে এবং বইগুলিতে দেওয়া বিভিন্ন পথ রয়েছে। আমি সাধারণত ক্যোয়ারী / পদ্ধতির কার্যকরকরণ পরিকল্পনাটি দেখে শুরু করি এবং যে ক্ষেত্রগুলিতে সমান্তরাল সম্পাদন দেখানো হয় তার দিকে ফোকাস করি। তারপরে সেখান থেকে প্রথমে কোয়েরিটি টিউন করার চেষ্টা করুন এবং তারপরে শেষ অবলম্বন হিসাবে কোয়েরি ইঙ্গিতগুলি ব্যবহার করা শুরু হতে পারে।

এই অচলাবস্থাগুলি সমাধান করার জন্য আপনি উল্লেখ করা সাধারণ ক্যোয়ারী ইঙ্গিতটি বাস্তবায়ন করছে MAXDOP 1। যাইহোক, এটি করার আগে আপনি সার্ভার স্তর MAXDOP এবং মূল্য থ্রেশহোল্ড সেট করা আছে তা পরীক্ষা করে দেখতে পারেন। কাস্টম থ্রেশহোল্ডটি সাধারণত ডিফল্ট হিসাবে 5 এ সেট হয় এবং আমি শুরু করতে 35 বা 40 এ বাড়িয়ে তুলতে চাই, যদি প্রশ্নটির প্রশ্নটির কোডের এই বিভাগটির জন্য স্বল্প ব্যয় হয় তবে এটি একেবারে সমান্তরালে চালানোর প্রয়োজন নাও হতে পারে। আমি ম্যাক্সডপ ক্যোয়ারী ইঙ্গিতগুলি ব্যবহার করার মতো সমস্ত শখের নই তবে এর অর্থ এই নয় যে তাদের জায়গা এবং উদ্দেশ্য নেই। শুধুমাত্র আমার অভিমত.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.