PDA

View Full Version : گفتگو: ازدیاد کاربران آنلاین



Zabi42
جمعه 30 بهمن 1388, 18:17 عصر
سلام دوستان
می خواستم بدونم اگه صفحه ای از سایت ما تعداد کاربرهای انلاین زیادی داشته باشه باید به چه نکاتی توجه کرده باشیم تا به مشکل نخوریم؟؟؟؟؟؟ یعنی صفحه با سرعت مناسبی باز شه و تمام تراکنش های سایت به درستی و با سرعت خوبی انجام بشه

مبین رنجبر
جمعه 30 بهمن 1388, 20:31 عصر
به این نکته توحه کنید که برای محاسبه و نمایش کاربران آنلاین از دیتابیس استفاده نکنید .. برای گرفتن اطلاعات از دیتابیس ابتدا جداول دیتابیستون رو یک خروجی XML بگیرید و با این XML کار کنید ( اینکار باعث میشه سرعت سایت 20 برابر بشه ) و ... . اینها گوشه ای از نکته هایی هست که تاثیر زیادی داره ..

Zabi42
جمعه 30 بهمن 1388, 23:06 عصر
ممنون از نظری که دادی و خوشحال میشم دوستای دیگه هم اگر تجربه ای دارند مطرح کنن

Zabi42
جمعه 30 بهمن 1388, 23:17 عصر
به این نکته توحه کنید که برای محاسبه و نمایش کاربران آنلاین از دیتابیس استفاده نکنید .. برای گرفتن اطلاعات از دیتابیس ابتدا جداول دیتابیستون رو یک خروجی XML بگیرید و با این XML کار کنید ( اینکار باعث میشه سرعت سایت 20 برابر بشه ) و ... . اینها گوشه ای از نکته هایی هست که تاثیر زیادی داره ..

میشه در بارش بیشتر توضیح بدی

فقط برای محاسبه و نمایش کاربران آنلاین از دیتابیس استفاده نکنیم یا توی کل ارتباتامون با دیتا بیس از xml استفاده کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟

hadi000333
شنبه 01 اسفند 1388, 03:35 صبح
سلام
به نظر من چیزایی که تو سرعت سایت در بازدید بالا تاثیر زیادی داره:
1- سرور
2- کمتر connection زدن به Db هست که از روش های زیادی استفاده میشه:
مثلا استفاده از کش هست خوب شما اطلاعات صفحه اول رو می تونید با چند دقیقه تاخیر به روز کنید
مثلا وقتی شما یک خبر به سایت اضافه میکنی بعد از یک ربع توی صفحه اول نمایش داده بشه
در واقع توی این مدت سایت شما برای دریافت حبر هیچ ارتباطی با db نداره و فقط از کش خبر ها رو می خونه
چون صفحه اول سایت بیشترین بازدید رو داره این کار باعث میشه سایت شمابه صورت محسوسی سرعت بیشتری داشته باشه.
البته شما می تونید از pool کردن Connection نیز استفاده کنید. که کمتر به درد سایت های Shared Server ها می خوره
چیزی که توی کامپیوتر از همه چیز زمان بر تر هست وصل شدن به db هست.
شاید اگر به نسبت بگم این کار به زمان ما انسان ها 10 دقیقه هست( خوب زمان کامپیوتر ثانیه نیست !!!
البته این نسبت رو زیاد جدی نگیر چون بستگی به کامپیوتر داره و خودم محاسبه نکردم )
2- جلو گیری از انجام پردازش های اضافی :
مثلا شما یه پردازش برای محاسبه ساختار درختی منوها انجام میدید خوب این نتیجه این پردازش رو در کش ذخیره کرده و هر چند دقیقه یکبار چک شود که در صورتی که چیزی تغییر کرده بود پردازش دوبار انجام بشه
(در واقع استفاده از کش خیلی مهمه)
3- کم کردنRequest به سرور از طریق فشرده سازی و ادغام فایل ها ارسالی به کاربر مثلا شما نیازی نیست که js ها و css ها رو تو چندا فایل به کاربر بفرستی همه رو باهم ادغام کرده و روی سایت قرار می دید.
4-صفحه بندی کردن اطلاعات دریافتی از database البته این صفحه بندی باید توی database انجام بشه نه توسط کنترل هایی مثل gridview
5- کم کردن خجم ViewState و :Cookie صفحه شما وقتی postback میشه ViewState و Cookie به سمت سرور up میشه و این برای درخواست های بالا می تونه زمان رو برای شما کاهش بده.

و چیزیای دیگه که من نمی دونم که اگه کسی بگه حتما استفاده می کنم.

مبین رنجبر
شنبه 01 اسفند 1388, 08:43 صبح
میشه در بارش بیشتر توضیح بدی

فقط برای محاسبه و نمایش کاربران آنلاین از دیتابیس استفاده نکنیم یا توی کل ارتباتامون با دیتا بیس از xml استفاده کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟

من گفتم که فقط برای محاسبه کاربران آنلاین از دیتابیس استفاده نکنید . برای سایت که حتما باید استفاده کنید ولی بجای اینکه بیاین هر کار کوچیکی مثل لود کردن محتوای سایت و ... بخواین به دیتابیس به طور مکرر کانکت و دیسکانکت بشین زمان بره . برای همین جدول هاتونو یه خروجی xml بگیرین و با خود دیتابیس کاری نداشته باشید .. یکبار به دیتابیس کانکنت میشین و فایل xml رو میسازید و بعد از اون اطلاعات رو از فایل xml بخونید.

Zabi42
شنبه 01 اسفند 1388, 15:51 عصر
از هادی تشکر میکنم بخاطر اریه نظراتش

دوستان اگر براتون امکان داره همراه ارایه ی نظر خود اموزش اون رو هم ارایه بدید یا یک لینکی رو قرار بدید که به مطالبتون اشاره کنه
ممنون