اعلانات واخبار

تسريع اداء موقعك او برنامجك speed up asp.net website

تسريع اداء موقعك او برنامجك speed up asp.net website

المستوي السادس مبرمج محترف


11 طريقة سهلة لتسريع اداء موقعك او برنامجك بطريقة ملحوظة


تسريع اداء موقعك او برنامجك speed up asp.net website

كيف يتم تسريع اداء موقعك او برنامجك من خلال بعض الطرق الهامة

 speed asp.net performance

 asp.net speed

1- Use Page.IsPostBack

هذا يعتبر من اهم الاشياء التي تسرع فتح اي صفحة بها داتا ومعلومات توضع في بداية الصفحة او في حدث الباج لود . بمعني اذا كنت

تستخدم كود في بداية فتح الصفحة وطبعا هذا يحدث كثيرا جدا ضع هذا الكود داخل هذا الكود

if (!Page.IsPostBack)

            {

                // الكود هنا

               

            }

بهذا ان تخبر الصفحة انه مهما حدث يتم تشغيل الكود مرة واحدة فقط مهما حدث رفرش للصفحة او فتح فيتم فتح الكود مرة واحدة فقط

وبذلك يتم تسريع فتح الصفحة

2- Using Ajax contols

الاجاكس هي ادوات من مايكروسوفت ادوات جاهزة مثل ادوات الفيجوال ستوديو عبارة عن تكنيك يستخدم لتسريع حدث معين

مثل ارسال معلومات او جلب معلومات في الصفحة بدون اعادة تحميل كامل الصفحة ولذلك حاول ان تضع علي الاقل ادواتك داخل اداة

تسمي

UpdatePanel

وهو مثل الكونتينر او الجدول او الديف تضع بداخله ادواتك وبذلك يتم تسريع الاداء في الصفحة فعندما تضغط علي زر مثلا فسوف

يجلب البيانات بدون الشعور بان الصفحة تعيد تحميل بيانات يتم هذا بسرعة جدا

ايضا تعرف علي بعض الادوات الهامة الاخري داخل الاجاكس كما جاء في محاضرة الاجاكس

 

3- Sql statements

  جمل الاستعلام التي تنشأها حدد الحقول التي تريدها ولا تختار كل الحقول مثلا

Select * from users

Select name,email from users

فالاولي تختار كل الحقول بكل البيانات والثانية تحدد ماتريده من الجدول

4- Using OOP

البرمجة الكائنية فهي طريقة المحترفين ودائما ما انصح بها حتي عند الدخول لمقابلة عمل انصح بها في طريقة عرض مشروع لديك

او عمل تاسك او حتي مناقشة مدير العمل فأول شئ يتم النظر اليه هو طريقة المبرمج في كتابة واختصار الكود وهذا مايفضل شخص

علي شخص اخر .

حاول استخدام هذه الطريقة التي تعتمد علي الكلاسات والدي ال ال والتي تختصر في الكود عشرات المرات وبالتالي سرعة في اداء

الصفحة او الموقع . 

ارسل لنا متدرب مشكلة لديه في صفحة الدخول لديه وبها كود طويل – وايضا لوب او حلقة تكرارية كبيرة داخل الكود العادي نفسه .

وهذا اصابني بالذهول فهذا غير طبيعي بالمرة فبذلك سوف يجلب البيانات بالكامل ثم يعمل لوب داخل البيانات مرات ومرات وهذا كله

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

الكائنية مع العلم انه كان لايزال بالمستوي الثالث الا انني احببت ان اوجه من البداية للطريق الصحيح . فالبرمجة الكائنية هي لب العمل

الاحترافي وليست سرعة واختصار اكواد فقط .

 

5-Remove Sessions in asp.net

السشن من اهم الاشياء في الموقع فهو يخزن بيانات المستخدم لكي تستخدمه في اي مكان او اي صفحة بالموقع .لكن ماذا بعد خروج

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

والرام للسيرفر لذلك في زر خروج مثلا تخلص منه بالطريقة الامنة التالية

 

  // remove session

               HttpContext.Current.Session.RemoveAll();

               HttpContext.Current.Session.Abandon();

 

6- Close connection pools

حاول غلق الاتصال بقاعدة البيانات بعد فتحها من خلال

Connection.Close();

بعد فتح قاعدة البيانات ثم عمل الاستعلام ثم غلق الاتصال حتي لا تتركه مفتوحا كل مرة وبالتالي يستهلك رام ومن ثم تعرض موقعك

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

ارجاعك بالطبع عقب تصليح ذلك

 

7- Disable debugging in your web.config

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

من صفحات الموقع

هذا يسمي compiler

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

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

افتح ملف الويب كونفيج

web.config

سوف تعثر علي هذا الكود

<compilation debug="true"/>

وهو بالتالي مفعل .. قم بتعطيله الي الاتي

<compilation debug="false"/>
 

8- Use page output caching

الكاش او caching in asp.net

كأنك تعمل صورة للصفحة علي منذ اخر مرة تم دخول شخص علي الصفحة فيراها كل المستخدمين للموقع مثلما رأها اخر شخص دخل

عليها كيف ذلك

مثلا عندي صفحة بها بيانات طلبة  فدخل طالب  اسمه احمد وشاهد ببياناته ونتائجه . فتم الان عمل كاش لهذه الصفحة اي تم عمل

صورة للنتيجة التي ظهرت بها هذه الصفحة . فاذا دخل عمر او محمد او اي شخص ليري نتيجته خلال مدة الثواني التي تم عمل كاش بها

فسوف يري نتيجة الطالب احمد فقط وسوف يستمر ذلك لمدة من الزمن يتم تحديدها بالثواني .

هذا عن الكاش في الصفحة

كنصيحة شخصية لا تستخدم الكاش الا في صفحات ثابتة ليس بها بيانات تتغير مثل شاشة عن الموقع فسوف يراها جميع الناس بنفس

الشكل . او صفحة ثابتة ليس دينامك لانها خطر جدا في استخدامها للبيانات ولذلك نستخدمها في صفحات ثابتة فقط او بحذر عند عرض

بيانات

افتح صفحة الهتمل للصفحة او وضع السورس وفي اعلي الصفحة ضع الكود الاتي وغير مدة الكاش بالثواني 

<%@ OutputCache Duration="10"%>

 

9- Optimising your images

قم بتقليل حجم الصور التي تعرضها لانها تسحب من رامات السيرفر خصوصا لو كانت استضافة مشتركة وايضا تسحب من سرعة الصفحة نفسها في الفتح لذلك حاول تقليل الحجم للصور قدر الامكان

 

10- Remove Viewstate

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

لان الصفحة ستلغي هذا علي الصفحة فقط اما الويب كونفيج سوف يلغيها علي كامل الموقع

افتح صفحة الهتمل للصفحة او وضع السورس وفي اعلي الصفحة ضع الكود الاتي في الخصائص 

EnableViewState="false"

 

11- remove the default modules from your Web
 
الفيجوال ستوديو بطبيعته وبدون تدخل منك ينشأ
مجموعة من الخصائص والموديولز والاشياء التي قد لا تستخدمها 
 ولكنها موجودة ولن تفيد بل تضر في ان الفيجوال ستوديو
 حجز لها مساحة من السرعة والفتح وبذلك يتم بطأ الموقع نسبيا 
 
قم بفتح موديولز   httpmodules
ثم ضع الاكواد التالية التي تحذف الاشياء الغير هامة 
 
<httpModules>
         <!--<span class="code-comment"> 
Remove unnecessary Http Modules for faster pipeline --></span>
         <remove name="Session" />
         <remove name="WindowsAuthentication" />
         <remove name="PassportAuthentication" />
         <remove name="AnonymousIdentification" />
         <remove name="UrlAuthorization" />
         <remove name="FileAuthorization" />
</httpModules>

 

 

حاول استخدام كل تلك النقاط حتي يتم تسريع اداء موقعك او برنامجك

ولسهولة تصفح وفتح صفحات موقعك او برنامجك increase speed of page loading in asp.net

 

 

 

#تسريع اداء موقعك او برنامجك speed up asp.net website

رابط الموضوع
http://citystarit.com/Article_details.aspx?id=133