بدون توقف ODBC: كيف يتم تعيين اتصالات (خوادم ODBC) في وحدات المعالجة المركزية؟

StackOverflow https://stackoverflow.com/questions/2858722

  •  30-09-2019
  •  | 
  •  

سؤال

لدينا تجمع ODBC يعمل على خادم بدون توقف. يتم توصيل المسبح بـ SQL/MX.

يتم استخدام هذا التجمع من قبل عدد قليل من تطبيقات Java الخارجية ، كل منها لديه تجمع JDBC متصل بتجمع ODBC (على سبيل المثال 14 اتصالات لكل تطبيق).

مع مرور الوقت (بعد عدد قليل من عمليات إعادة التدوير) ، نرى اختلالا توازنًا بين وحدات المعالجة المركزية - بعضها يحتوي على 8 عمليات ODBC ، وبعضها فقط 5. وهذا يؤدي إلى اختلال وقت في وحدة المعالجة المركزية أيضًا.

حتى هذه النقطة افترضنا أن وحدة المعالجة المركزية يتم تعيينها لعملية ODBC بطريقة مستديرة. من شأنه أن يحافظ على عدد عمليات ODBC بشكل أو بآخر موزعة بالتساوي. ليس الأمر كذلك.

هل هناك أي معلومات حول كيفية قرر ODBC Pool أي وحدة المعالجة المركزية التي تختارها لكل عملية مخصصة جديدة؟ هل تنظر إلى تحميل وحدة المعالجة المركزية؟ الذاكرة المتاحة؟ شيء آخر؟

للأسف ، حتى شعب HP (المتاح لنا ، أي) لم يتمكنوا من الإجابة على هذه الأسئلة على وجه اليقين. :-(

هل كانت مفيدة؟

المحلول

وفي الواقع يتم تعيين اتصالات إلى وحدات المعالجة المركزية في أزياء Round-Robin. ولكن إذا تمت إعادة تشغيل أحد المستهلكين (مع تجمعه الخاص) لأي سبب من الأسباب ، فسيتم إصدار الاتصالات على وحدات المعالجة المركزية حيث تم تخصيصهم (من الواضح) ، ولكن سيتم تخصيصها الجديد على وحدة المعالجة المركزية التالية وفقًا لخوارزمية Round-Robin . وبالتالي ستصبح بعض وحدات المعالجة المركزية أقل انشغالًا ، وبعضها أكثر من ذلك. وبالتالي اختلال التوازن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top