كنت أتحدث اليوم مع بعض الأصدقاء في MSN Group حول تحسين أداء برامج ASP.net.
الآن دعونا نلخص طرق التحسين:
1. تحسين قاعدة البيانات، بما في ذلك تحسين بنية الجدول، وتحسين الفهرس، وتحسين عبارة SQL، وتحسين الإجراءات المخزنة
2. تحسين حالة العرض
3. استخدم التخزين المؤقت
4. إنشاء صفحات ثابتة (أساسًا للواجهة الأمامية لأنظمة نشر المعلومات غير التفاعلية للغاية)
5. استخدم IIS/Apache للواجهة الأمامية للتعامل مع طلبات الصفحات الثابتة والصور وملفات js
6. خوارزمية التحسين
7. نرحب بالجميع لإضافة
. فيما يتعلق بضبط الأداء، فإن نصيحة جميع الخبراء تقريبًا هي: إذا لم يكن هناك قياس دقيق للأداء، فلا تقم بضبط الأداء. لن يكون للضبط بدون اختبار الأداء المعياري أي فوائد أخرى باستثناء جعل رمز النظام فوضويًا، وغالبًا ما يتم فقدان التأثير الذي تحصل عليه من خلال العمل الجاد لتحسين الخوارزمية من 0.1 ثانية إلى 0.01 ثانية بسبب عبارة تحديد سيئة تمامًا.
لذلك، فإن الطرق السابقة ليست حلا سحريا لضبطها، يجب عليك أولا فهم أين يكون النظام بطيئا. لا تطلب أبدًا العناية الطبية على عجل. المحتوى التالي يأتي من تجربتي الشخصية في العمل، ولا يمكن تطبيق جميع الأنظمة، يرجى التذكر! ! ! !
دعونا نحلل طرق الضبط الأربع هذه:
بالنسبة لتطبيقات نوع نظام إدارة الأعمال/الوصول المفتوح، غالبًا ما يكون تحسين قاعدة البيانات نقطة أساسية لعدة أسباب:
1.CRUD على قاعدة البيانات هي العملية الأكثر شيوعا في هذه الأنظمة.
2. غالبًا ما تتسبب العمليات على نظام قاعدة البيانات في إدخال/إخراج القرص (نظرًا لأنه يتم حفظ ملفات قاعدة البيانات والسجلات على القرص)
3. غالبًا ما تكون عمليات التطبيق على نظام قاعدة البيانات مشتركة بين العمليات أو حتى عبر الأجهزة. (الإدخال/الإخراج للقرص + الإدخال/الإخراج للشبكة، بغض النظر عن سرعة وحدة المعالجة المركزية أو حجم الذاكرة، فهو بعيد عن متناولنا)
لذلك، غالبًا ما تكون هذه العمليات في قاعدة البيانات بمثابة عنق الزجاجة في أداء النظام بأكمله.
إذن، بمعرفة هذا الاتجاه العام، كيف تعرف أي SQL أو الإجراءات المخزنة بطيئة؟ يتطلب هذا دمج ملف التعريف الخاص بقاعدة البيانات
، ويمكنك قراءة هذه المقالة.
http://www.microsoft.com/china/msdn/library/data/sqlserver/Profiler.mspx?mfr=true
بالنسبة لأوراكل، يمكنك قراءة هذه المقالة
http://www.javaeye.com/post/117389
2. ViewState، هذا Dongdong كبير الحجم نسبيًا وسيكون له تأثير معين على تطبيقات الإنترنت. فيما يتعلق بتحسينها، فقد تحدثت الحديقة عنها بالفعل، لذا يمكنك البحث عنها بنفسك.
3. رأيي بشأن استخدام ذاكرة التخزين المؤقت لا يتوافق تمامًا مع رأي العديد من الأصدقاء في مجموعة MSN. يعتقد أحد الأصدقاء في مجموعة MSN أن ذاكرة التخزين المؤقت يمكن أن تكون مجموعة من المتغيرات الثابتة، أو بعض المتغيرات التي يتم التحكم فيها بواسطة وحدة تحكم ذاكرة التخزين المؤقت. أعتقد شخصيًا أن ذاكرة التخزين المؤقت هذه قد يكون لها أداء جيد في بيئة خادم واحد، وفي بيئة متعددة الخوادم، ستصبح ذاكرة التخزين المؤقت هذه بمثابة عنق الزجاجة في الأداء، لأن التطبيق أو وحدة تحكم ذاكرة التخزين المؤقت تحتاج إلى التأكد بعناية من محتوى ذاكرة التخزين المؤقت لعمليات متعددة. . ثابت. هذه العملية تقلل بشكل كبير من قابلية التوسع للبرنامج. خذ بعين الاعتبار مزرعة ويب تحتوي على 100 خادم، يتطلب تعديل ذاكرة التخزين المؤقت في عملية واحدة إشعارًا وتأكيدًا بأن الخوادم الـ 99 المتبقية قد تم تغييرها بشكل صحيح.
ولهذا السبب، يعد memcache حلاً جيدًا نسبيًا، حيث يستخدمه منتج wiki الشهير mediawiki كخادم ذاكرة تخزين مؤقت. لدى Memcache أيضًا واجهة برمجة تطبيقات عميل .net.
4. لا أفهم ذلك جيدًا، يرجى تقديم بعض النصائح من الخبراء
5. هناك العديد من المقدمات على الإنترنت، خاصة في Java، هناك العديد من المقدمات حول apache مع Tomcat. جوجل ذلك بنفسك.
6. هذا التحسين هو الأكثر تعقيدًا، وقد يكون التأثير أقل وضوحًا إذا كان عليك القيام بذلك، فاسمح للخالدين الثمانية بعبور البحر وإظهار قوتهم السحرية.
http://www.cnblogs.com/ncindy/archive/2006/11/07/553533.html