سؤال

ما مقدار حركة المرور التي يمكن لخادم الويب التعامل معها؟ما هي أفضل طريقة لمعرفة ما إذا كنا قد تجاوزنا ذلك؟

لدي تطبيق ASP.Net يضم بضع مئات من المستخدمين.جوانب منه تتطلب معالجة مكثفة إلى حد ما، ولكن حتى الآن قمنا بعمل جيد مع خادم واحد فقط لتشغيل كل من SqlServer والموقع.يعمل بنظام التشغيل Windows Server 2003 بسرعة 3.4 جيجا هرتز وذاكرة الوصول العشوائي (RAM) سعة 3.5 جيجا بايت.

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

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

المحلول

ما تحتاجه هو بعض المعلومات عنه القدرة على التخطيط..

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

نصائح أخرى

إذا كان لديك حق الوصول إلى بعض أدوات التوصيف (مثل تلك الموجودة في إصدار Team Suite من Visual Studio)، فيمكنك محاولة إعداد خادم اختبار وتشغيل بعض الطلبات الاصطناعية ضده ومعرفة ما إذا كان هناك أي جزء محدد من التعليمات البرمجية يستغرق وقتًا طويلاً بشكل غير معقول يهرب.ربما ينبغي عليك التحقق من بعض الرسوم البيانية لاستخدام وحدة المعالجة المركزية والذاكرة مع مرور الوقت قبل القيام بذلك، لمعرفة ما إذا كان من الممكن أن يكون الأمر كذلك.(قد يكون الرقم المشابه لـ "متوسط ​​التحميل" لنظام UNIX مقياسًا مفيدًا، ولا أعرف ما إذا كان Windows لديه أي شيء مثله.بشكل أساسي متوسط ​​عدد سلاسل العمليات التي تريد وقت وحدة المعالجة المركزية لكل شريحة زمنية.)

تحقق أيضًا مما هو واضح، وهو عدم نفاد النطاق الترددي.

قياس، قياس، قياس.يقول ريكو مارياني هذا دائمًا، وهو على حق.

قم بقياس المتطلبات في الثانية، وذاكرة الوصول العشوائي (RAM)، ووحدة المعالجة المركزية (CPU)، والجلسات، وما إلى ذلك.

يمكنك التوصل إلى استراتيجية للتخزين المؤقت (التخزين المؤقت للمخرجات، والتخزين المؤقت للبيانات، وتبعيات التخزين المؤقت، وما إلى ذلك).

انظر أيضًا كيف يعمل SQL Server الخاص بك...تعد الفهارس مكانًا جيدًا للبدء ولكنها ليست الشيء الوحيد الذي يجب النظر إليه.

على هذا الجهاز، يجب أن يكون تطبيق .NET قادرًا على تلبية حوالي 200-400 طلب في الثانية.إذا كان لديك بضع مئات فقط من المستخدمين، فأنا أشك في أنك ترى حتى طلبين في الثانية، لذلك أعتقد أن لديك سعة كبيرة في هذا المربع، حتى مع تشغيل خادم SQL.

دون أن أعرف كل التفاصيل، أود أن أقول لا, لن ترى أي تحسن في الأداء عن طريق إضافة الخوادم.

بالمناسبة، إذا كنت لا تستخدم ذاكرة التخزين المؤقت للإخراج, ، سأبدأ هناك.

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