الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بطء شديد عند تحميل الصفخة لعدد كبير من الزوار

بدأه walleed23 في 7 يناير 2009 · 4 رد · 788 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

ياشباب عندي مشكلة كبيرة

انا مسوي مشروع حضور وانصراف الموظفين عدد المستخدمين حوال 10.000 موظف

طبعا توجد صفحات خاصة بالحضور والانصراف و صفحات خاصة للتقارير لآصحاب الصلاحيات

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

بالنسبة للحضور سرعة تحميل الشاشة ممتاز لان الموظفين اكيد ما يحضرو بنفس الوقت

مشكلتي في الانصراف ...اغلب الموظفين لو مو كلهم منتظرين لحظة الخروج عشان يضغطو على buton الخروج في لحظة واحدة

بيظهر الاكسبشن

Thread was being aborted

عند تحميل الصفحة

اتاكدت من memory السيرفر و proses كلها ممتازة

و تأكدت من الشبكة برضو ممتازة

وتأكدت من تعاملي مع قاعدة البيانات برضو ممتاز

قولت امكن من ال LOgic داخل الكود بس الكود في ال page load جداً بسيط (قراءة بيانات الموظف) و غير كذا الصفحة بتتحمل (معناه الكود داخل ال Page load انتهى من التنفيذ) الاحظ بطء شديد بتحميل الصفحة والصور (طبعا انا عامل حساب حجمها) حتى بعض الاحيان ما يحمل كل الصور الموجودة !

والله اعلم هل المشكلة في ال IIS انا عامل اعدادت ال Defult العامة....ايش الحل هل في اعدادت لل IIS بخصوص عدد المستخدمين?

وشكرا لكم

#2

هل تستطيع أن تزودنا بـtrace لهذا الخطأ؟

حل سريع هو أن تزيد من مدة الـtimeout في النظام. افتح ملف الـweb.config و غير القيمة الموجودة في

<httpRuntime maxRequestLength="4000">

إذا لم يكن موجوداً أضفه داخل تاغات System.Web

الرقم هنا هو عدد الثواني التي ينتظرها النظام قبل أن يعلن الـtimeout. الرقم القياسي هو 110 لذا اجعله أكثر من هذا.

لمزيد من المعلومات:

http://msdn.microsoft.com/en-us/library/e1f13641.aspx

حل آخر هو فصل الـlogic الخاص بالعملية من الصفحة تماماً. اجعلها في نظام آخر على شكل web service و نادها بشكل asynchronus أو حتى اربطها مع الـqueue service إذا أردت حلاً قوياً.

على فكرة، هل تعرف الأستاذ حسين حربوش؟ :)

تم تعديل هذه المشاركة بواسطة System Down في 7 يناير 2009 في 11:10

#3

سلام

اقتباس
حتى اربطها مع الـqueue service إذا أردت حلاً قوياً

اخي System Down اسف على المقاطعة لكن اريد ان اعرف ماذا تعني الـqueue service إذا امكن توضح.

شكرا

#4

اكيد اعرف حسين.......... :wacko:

السلام عليكم جميعاً

اقتباس

بالنسبة للtime out ما تظهرلي حتى لو استخدمت اللاعدادت الخاصة بها في ال web config

انا مشكلتي في البطء الرهيب لتحميل الصفحة دون اظهار ال time out

#5
man_J كتب:
سلام

اخي System Down اسف على المقاطعة لكن اريد ان اعرف ماذا تعني الـqueue service إذا امكن توضح.

شكرا

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

لمزيد من المعلومات:

http://en.wikipedia.org/wiki/Microsoft_Message_Queuing

http://www.15seconds.com/Issue/031202.htm

walleed23 كتب:
اكيد اعرف حسين.......... :wacko:

قلله بالحرف: "محي الدين يسلم عليك يا سوبر" :)

walleed23 كتب:
بالنسبة للtime out ما تظهرلي حتى لو استخدمت اللاعدادت الخاصة بها في ال web config

انا مشكلتي في البطء الرهيب لتحميل الصفحة دون اظهار ال time out

إذن إعمل كما قلت web service خاصة بعملية تسجيل الخروج و نادها بشكل asynchronous من الصفحة. عن طريق الـajax لو حبيت تخلي شكلها حلو :). بهذه الطريقة تنقل وقت المعالج من الصفحة إلى الويب سرفس. و لكن قد تحتاج إلى عمل اختبارات جهد stress test لمعرفة ما إذا كانت الويب سرفس ستتحمل الضغوط المفروضة عليها. في حالة فشل الويب سرفس التي تستخدم الإتصال المباشر بقاعدة البيانات لتحمل الضغط يجب التفكير في استخدام الـqueuing.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…