سؤال

لدي Ajax.Net تمكين ASP.Net 2.0 موقع على شبكة الإنترنت.استضافة كل من الموقع و قاعدة البيانات خارج عن إرادتي كما هو قاعدة البيانات في المخطط.في اختبار على الأجهزة أفعل التحكم في الموقع يؤدي جيدا ولكن على العميل الأجهزة ، هناك تأخير ملحوظ عند إعادة أو تغيير الصفحات.

ما أود القيام به هو جعل بلدي التطبيق المدمجة وسريعة ممكن عندما يسلم عليه.فكرة واحدة أن تعيين تواريخ انتهاء الصلاحية على كل من الموقع موارد ثابتة بحيث لا ذكر على تحميل الصفحة.من خلال الموارد أعني الصور, ربط أوراق الأنماط و جافا سكريبت الملفات المصدر.هل هناك طريقة سهلة للقيام بذلك ؟

ما هي الطرق الأخرى هناك إلى تحسين .صافي الموقع ؟

تحديث:لقد تشغيل YSlow على الموقع و المناطق التي أنا على الحصول على الأكثر تضررا في عدد من جافا سكريبت و أوراق الأنماط تحميل (23 JS الملفات و 5 أوراق الأنماط).لكن كل واحد (النمط الرئيسي ورقة) تم إدراجها من قبل Ajax.net و Asp.لماذا هذا العدد الكبير ؟

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

المحلول

  1. السيناريو الجمع في .net framework 3.5 SP1
  2. أفضل الممارسات المواقع بسرعة
  3. ضغط HTTP (gzip)
  4. ضغط JS / CSS (مختلفة من ضغط http, صغر جافا سكريبت)
    1. YUI ضاغط
    2. .صافي يوي ضاغط

أفضل نصيحة هي أن تحقق YUI المحتوى.لديهم بعض المقالات التي تتحدث عن أشياء مثل CSS sprites وبعض لطيفة مكتبات جافا سكريبت للمساعدة في الحد من عدد الطلبات المتصفح هو جعل.

نصائح أخرى

إذا كنت تستخدم فايرفوكس إلى اختبار موقع الويب الخاص بك, قد ترغب في محاولة أنيق فايرفوكس التمديد من ياهو!دعا YSlow.

ويحلل صفحات الويب الخاصة بك ويوفر درجات من A-F (A كونه أفضل و أسوأ) لكل واحد من أفضل الممارسات عالية الأداء المواقع.وسوف تساعدك على تعقب العناصر من موقع الويب الخاص بك التي يمكنك تحسين للحصول على speedups.

بدوره viewstate إيقاف افتراضيا ، وسوف يكون الفرق ليلا ونهارا حتى على أبسط صفحات.

كتبت بلوق وظيفة حول تحسين ASP.NET الصفحة الأداء هذا بضعة أشهر إلى الوراء.وهنا بعض سريعة وسهلة الطرق ،

  • إيقاف عرض الدولة
  • إيقاف تشغيل التحقق من صحة الحدث
  • تنفيذ HTTP gzip/تخفيض ضغط للحد من حجم الاستجابة (عدد وحدات البايت الملقم إرسال مرة أخرى إلى العميل)
  • في محاولة لتحسين/تقليل المكالمات قاعدة بيانات لكل طلب

أعتقد أنك حقا تحتاج إلى أن تكون قادرة على الحصول على بعض الفعلية PerfMon البيانات/القياس عن بعد من التطبيق حين تشغيل في الإنتاج لتكون قادرة على جعل المستنير قرار حول ما تحسين.

رمي بعيدا نصيحة أود التأكد من نشر التطبيق كما الإصدار بناء مجموعة debug="false" فيتجميع قسم الويب الخاص بك.config.

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

في أي حال - الخطوة الأولى عندما تبحث في الأداء المسألة دائما للتحقق من الافتراضات الخاصة بك أولا ثم اتخاذ قرار بشأن مسار العمل.

يمكنك أن تبدأ في النظر في استراتيجيات التخزين المؤقت.ملفات ثابتة مثل CSS (حتى مضغوط منها) والصور (حتى الأمثل منها) فقط تحتاج إلى تحميلها مرة واحدة من قبل المتصفح لفترة من الوقت.

Scirpt الجمع على اياكس سبق ذكره ، ولكن لم ألحظ إشارة إلى ScriptReferenceProfiler MS أصدرت على codeplex للمساعدة في معرفة ما إلى الجمع.مايك أورموند له نقطة بداية جيدة في هذا.

آخر نصيحة إذا كنت تفعل الكثير من إدراج إلى قاعدة البيانات الخاصة بك هو التأكد من خادم التخزين المؤقت على القرص في وضع التشغيل.مثال على ذلك, كان لدي بيانات المستورد القيام 1.2 مليون إدراج أثناء تشغيل.استغرق 4 ساعات و تغيير دون التخزين المؤقت على.استغرق 16 دقيقة مع على.

أمر عام عند استخدام ASP.NET و Ajax (أي اياكس المكتبة) معا لتجنب elephanting الخاص بك Page_Load و Page_Init (وعلى طريقة النظراء) الأشياء لأن هذه سوف تكون منفذة على كل طلب اياكس.

عندما قلت بجدية الخندق ASP.NET AJAX واستخدام أي شيء آخر...

Anthem.NET, AjaxPRO.NET, مسج أو أي شيء آخر من ASP.NET اياكس...

بالطبع أود أن استخدام Ra-اياكس نفسي منذ هذا المشروع.ولكن بعد ذلك مرة أخرى أنا منحازة...

هل يمكن تشغيل ضغط على أساس العميل الخاص بك يدعم ذلك.راجع هذه المقالة: وصلة النص

موارد ثابتة لا يجب أن تستاء ما لم يتغير.IIS سيتم إرسال رمز الاستجابة التي تخبر المتصفح أن استخدام النسخة المخبأة.

هل يمكن أن ننظر أيضا في ASP.NET التخزين المؤقت التي يمكن تطبيقها إلى حد ما granularly إلى أجزاء مختلفة من الصفحة الخاصة بك:

http://msdn.microsoft.com/en-us/library/xsbfdd8c(مقابل.71).aspx

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