ما هو عدد اتصالات الشبكة التي يمكن للكمبيوتر دعمها؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

عند كتابة خادم مخصص، ما هي أفضل الممارسات أو التقنيات لتحديد الحد الأقصى لعدد المستخدمين الذين يمكنهم الاتصال بالخادم في أي وقت؟

أفترض أن قدرات أجهزة الكمبيوتر، وسعة الشبكة، وبروتوكول الخادم ستكون جميعها عوامل مهمة.

وأيضًا، هل تعتقد أنه من الممارسات الجيدة تحديد عدد اتصالات الشبكة بحد أقصى معين لعدد المستخدمين؟أم أنه لا ينبغي للخادم أن يحد من عدد اتصالات الشبكة ويسمح للأداء بالتدهور حتى يصبح وقت الاستجابة مرتفعًا للغاية؟

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

المحلول

قام دان كيجل بتجميع ملخص لتقنيات التعامل مع كميات كبيرة من اتصالات الشبكة من خادم واحد، هنا: http://www.kegel.com/c10k.html

نصائح أخرى

بشكل عام، يمكن للخوادم الحديثة التعامل مع أعداد كبيرة جدًا من الاتصالات المتزامنة.لقد عملت على أنظمة بها أكثر من 8000 مقبس TCP/IP مفتوح بشكل متزامن.

سوف تحتاج إلى واجهة خدمة عالية الجودة للتعامل مع هذا النوع من التحميل، تحقق من ذلك ليبفينت أو ليبيف.

هذا سؤال جيد وهو بالتأكيد ظرفي.ما هو جهاز الكمبيوتر الخاص بك؟هل لديك جهاز ذو 4 مقابس مملوء بمعالج Xeons رباعي النواة وذاكرة وصول عشوائي (RAM) سعة 128 جيجابايت واتصال قنوات ليفية (مثل زوج Dell R900s الذي اشتريناه للتو)؟أم أنك تعمل على جهاز p3 550 مع ذاكرة وصول عشوائي (RAM) سعة 256 ميجابايت ومودم 56 كيلو بايت؟ما مقدار التحميل الذي يضعه كل اتصال على الخادم الخاص بك؟ما هو نوع الرد المقبول؟

هذه هي الأسئلة التي تحتاج إلى الإجابة عليها.أعتقد أن أفضل طريقة للعثور على الإجابة هي من خلال اختبار التحميل.قم بإنشاء اختبار وحدة للمسارات المتوقعة (وربما بعض المسارات غير المتوقعة) التي ستنفذها التعليمات البرمجية الخاصة بك على الخادم الخاص بك.ابحث عن إطار اختبار التحميل الذي سيسمح لك بمحاكاة 10، 100، 1000، 10000 مستخدم يقومون بهذه المهام في نفس الوقت.

سيخبرك ذلك بعدد الاتصالات التي يمكن لجهاز الكمبيوتر الخاص بك دعمها.

إن الشيء العظيم في سيناريو اختبار الحمل/الوحدة هو أنه يمكنك وضع توقعات وقت الاستجابة في اختبارات وحدتك وزيادة الحمل حتى تقع خارج وقت الاستجابة.إذا كان لديك متطلبات دعم عدد X من المستخدمين من خلال الاستجابة الثانية Y، فستتمكن من إثبات ذلك من خلال اختبارات التحميل الخاصة بك.

واحدة من أكبر النكسات في الاتصالات عالية التزامن هي في الواقع أجهزة التوجيه المعنية.عادةً ما تحتوي أجهزة التوجيه الموجهة للمستخدم المنزلي على جدول NAT صغير، مما يمنع جهاز التوجيه من خدمة اتصالات الخادم فعليًا.

تأكد من البحث في إعداد البنية التحتية لجهاز التوجيه/الشبكة أيضًا.

أعتقد أنه لا ينبغي عليك تحديد عدد الاتصالات التي سيسمح بها خادمك - ما عليك سوى اكتشاف أي استثناءات قد تحدث عند قبول الاتصالات وإغلاقها والتعامل معها بشكل صحيح، وستكون الأمور على ما يرام.يجب عليك ترك هذا النوع من البرمجة ذات المستوى الأدنى لطبقات نظام التشغيل الأساسية - وبهذه الطريقة يمكنك نقل خادمك بشكل أسهل وما إلى ذلك.

هذا يعتمد حقًا على نظام التشغيل الخاص بك.

ستدعم نكهات Unix المختلفة عددًا "غير محدود" من مقابض/مآخذ الملفات الأخرى التي لها قيم عالية مثل 32768.

الحد النموذجي للمستخدم هو 8192 ولكن يمكن عادةً تعيينه أعلى.

أعتقد أن نظام Windows أكثر تقييدًا ولكن إصدار الخادم قد يكون له حدود أعلى.

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