আমরা HADR_SYNC_COMMITআমাদের পরিবেশে অপেক্ষা করার জন্য একটি আকর্ষণীয় প্যাটার্নটি লক্ষ্য করছি । আমাদের তিনটি প্রতিরূপ আছে; একটি প্রাথমিক, একটি সিঙ্ক মাধ্যমিক এবং একটি অ্যাসিঙ্ক মাধ্যমিক একটি ডেটাসেন্টারে এবং আমরা সবেমাত্র অন্য একটি ডাটাসেন্টারে (~ 2400 মাইল দূরে) আরও তিনটি এএসআইএনসি রেপ্লিকা যুক্ত করেছি ।
সেই থেকে আমরা HADR_SYNC_COMMITপ্রতীক্ষায় এক বিরাট বৃদ্ধি লক্ষ্য করতে শুরু করেছি । যখন আমরা সক্রিয় অধিবেশনগুলিতে লক্ষ্য করি, আমরা দেখতে পাই COMMIT TRANSACTIONSYNC প্রতিরূপে অপেক্ষা করানো বেশ কয়েকটি কোয়েরি
স্ক্রিনশট থেকে, আমরা পরিষ্কারভাবে দেখতে পাচ্ছি যে HADR_SYNC_COMMIT২৯ শে জুন অপেক্ষার ঝাঁপ রয়েছে , এবং শেষ পর্যন্ত আমরা ১ লা জুলাই দুপুরে রিমোট ডেটাসেন্টারে তিনটি অ্যাসিঙ্ক প্রতিরূপের দুটি 'নামিয়ে ফেলেছিলাম। এটি অপেক্ষার সময়টিকে পাশাপাশি রেখেছিল dropped

আমরা এখন অবধি যা যাচাই করেছি - দূরবর্তী প্রতিরূপে লগ প্রেরণ সারি, পুনরায় সারি, শেষ কঠোর সময় এবং শেষ প্রতিশ্রুতি সময় প্রেরণ করুন। আমাদের ব্যবসায়ের সময় অবিচ্ছিন্নভাবে ছোট ছোট লেনদেন হয় এবং তাই নির্দিষ্ট সময় স্ট্যাম্পে (60KB এবং 1MB এর মধ্যে যে কোনও জায়গায়) প্রেরণের সারিগুলি খুব ছোট।
দূরবর্তী প্রতিলিপিগুলি প্রায় সিঙ্কে রয়েছে, প্রতিলিপিগুলিতে কোনও স্বতন্ত্র lsn এর জন্য শেষ প্রতিশ্রুতি সময় এবং শেষ কঠোর সময়ের মধ্যে খুব কম পার্থক্য রয়েছে।
নেটওয়ার্ক পাইপটি 10 জি এবং আমরা 256 মেগ থেকে 2 জিগের মধ্যে প্রেরণকারী বাফার আকারটি পরিবর্তন করেছি, এটি এই ধারণার অধীনে তৈরি হয়েছিল যে নেটওয়ার্কটি প্যাকেটগুলি ফেলে দিচ্ছে এবং সেগুলি পুনরায় সংক্রমণ করছে; যে কোনও উপায়েই তেমন কোনও সহায়ক বলে মনে হচ্ছে না।
সুতরাং, আমি ভাবছি যে এএসআইএনসি প্রতিরূপ অপেক্ষার সাথে HADR_SYNC_COMMITকী করবে? না করা উচিত সিঙ্ক এই অপেক্ষার ধরনের উপর একা নির্ভর প্রতিরূপ, আমি এখানে কি অনুপস্থিত করছি?