أفضل ممارسات أداء ASP.NET
الكاتب:Eve Cole
وقت التحديث:2009-06-30 16:04:02
تنظيم توصيات ممارسات التصميم المنطقي/المادي بناءً على البث عبر الويب لـ MSDN: استخدم صفحات النماذج المنطقية ثلاثية الطبقات (.aspx) وعناصر تحكم المستخدم (.ascs)
يتم وضع الأنواع (المكونات) القابلة لإعادة الاستخدام في الدليل bin. ويتم وضع البيانات في قاعدة بيانات SQL. موصى به: تصميم لمزرعة الويب. لا تفترض أن الزائرين سيعودون دائمًا إلى نفس الخادم.
توصيات حالة جلسة مزرعة الويب: يجب أن يؤدي استخدام نفس العملية إلى تجنب (عندما يكون ذلك ممكنًا):
المكالمات المتزامنة لخدمات ويب XML باستخدام خدمات ويب XML من خلال المكالمات عن بعد من خلال DCOM:
لا ينبغي استخدام الاتصال بين التطبيقات الموجودة على الإنترنت للاتصال داخل التطبيق. توصية: استخدم ISA Server، عندما تكون منطقة الأمان DMZ مطلوبة:
السماح بالوصول فقط عبر ISA
نفق ISA عبر المنطقة المجردة من السلاح إلى ASP.NET
قم بتقليل توصيات عملية تبديل اللغة/الرمز لتجنب استخدام الربط المتأخر
<%@ Page Language = "VB" Explicit = "true" %> تتطلب تعريفًا لجميع أنواع المتغيرات ولا تزال تسمح بالربط المتأخر
<%@ Page Language = "VB" الصارم = "true" %>يمنع استخدام أي ربط متأخر
يوصى باستخدام COM بأقل قدر ممكن لتفاعل COM، ولاستخدام بيانات المكونات المُدارة، يوصى بتخزين البيانات في SQL Server واختيار طريقة الوصول إلى البيانات المناسبة: عميل OLEDB/SQL/ODBC
اختر DataSet وDataReader بشكل معقول لإدارة حالة الوصول إلى البيانات واختر الطريقة المناسبة لتخزين الجلسة: Inproc/StateServer/database
استخدم أنواع البيانات البسيطة لتجنب حفظ كائنات COM الخاصة بـ STA في الجلسة. إذا لم تكن الجلسة مطلوبة، فقم بتعطيلها: EnableSessionState = "false"
إذا أمكن، استخدم سمة للقراءة فقط: EnableSessionState = "للقراءة فقط"
إذا لم تكن هناك حاجة إلى ViewState، فقم بتعطيله، EnableViewState = false
قم بتصغير البيانات في ViewState اعرض حجم ViewState اعرض كود مصدر إخراج HTML أو قم بتمكين التتبع
استخدم ذاكرة التخزين المؤقت للصفحة، وذاكرة التخزين المؤقت الجزئية للصفحة
ذاكرة التخزين المؤقت لبيانات الكائن
طريقة ذاكرة التخزين المؤقت WebService لقياس أداء الويب: وقت استجابة إنتاجية الجهاز تم اختباره عن طريق تحميل الخادم باستخدام أجهزة عملاء متعددة لتحميل تطبيقات ويب Microsoft المجانية
اختبار سيناريوهات متعددة لمحاكاة اجتياز سيناريو الموقع من البداية إلى النهاية. اختبار أداء الصفحة الواحدة. القيم التي يجب حسابها للطلب/الجنس تحت أحمال مختلفة (100، 250، 500، 750، 1000، إلخ). العملاء يزورون في نفس الوقت)
يحدد الحد الأقصى لتحميل العميل خلال وقت استجابة TTFB/TTLB المقبول، وعدادات الأداء الحرجة للمعالج، واستخدام وحدة المعالجة المركزية٪ || القيم المنخفضة = التعرض أو تنافس القفل
ASP.NET، عدد الطلبات الموضوعة في قائمة الانتظار || النمو الخطي يعني تحميل الخادم بالكامل
تطبيق ASP.NET، الطلبات في الثانية||الإنتاجية الديناميكية (يجب أن تكون متسقة)
تطبيق ASP.NET، العدد الإجمالي للأخطاء || يشير إلى الأخطاء الوظيفية (يجب أن تكون 0)
تطبيق ASP.NET، إعادة تشغيل العملية المنفذة || يشير إلى وجود خطأ وظيفي خطير