View Full Version : راه حل سایت پربازدید در ارتباط با دیتابیس
ArtStyle
چهارشنبه 26 فروردین 1394, 17:49 عصر
سلام وقت دوستان بخیر
من برای یک سایت تفریحی که تعداد مطالب آن در صفحات مختلف زیاد است ( مثلا اخبار یا سلامت و ... ) باید مطالبشان را کش کنم ؟ چون تمامی پست ها رو از دیتابیس میخونم به نظر وقتی بازدید زیاد باشه ( حدود ۲ الی ۳ هزار آنلاین ) سرور خیلی کند میشه . آیا همینطوره ؟ اگه جواب مثبته راه حل دوستان برای جلو گیری ازین مشکل چیه ؟
alireza_s_84
چهارشنبه 26 فروردین 1394, 18:49 عصر
سلام وقت دوستان بخیر
من برای یک سایت تفریحی که تعداد مطالب آن در صفحات مختلف زیاد است ( مثلا اخبار یا سلامت و ... ) باید مطالبشان را کش کنم ؟ چون تمامی پست ها رو از دیتابیس میخونم به نظر وقتی بازدید زیاد باشه ( حدود ۲ الی ۳ هزار آنلاین ) سرور خیلی کند میشه . آیا همینطوره ؟ اگه جواب مثبته راه حل دوستان برای جلو گیری ازین مشکل چیه ؟
ابتدای کار اینه که شما حتما از یک سرور مجازی اسفاده کنید و فکر هاست رو از سرتون بیرون کنید.
برای این تعداد افراد آنلاین حداقل به یک سرور مجازی با 3 گیگابایت حافظه نیاز دارین ( با احتساب SQl Server + OS + MailServer + DnsServer و ... )
یک کلاس برای مدیریت کش بنویسید که مطالبی که میزان بازدید اونها در روز از مقدار مورد نظرتون بیشتر باشه (مثلا 100 بازدید در روز) رو توی کش قرار بده و بقیه رو از دیتابیس واکشی کنه.
حتما حتما از ایجکس استفاده کنید تا تعامل با سرور کمتر باشه و در هربار حداقل اطلاعات بین سرور و کلاینت رد و بدل بشه
اگر میزان درج اطلاعات در دیتابیس خیلی کمتر از میزان خواندن اطلاعات باشه از ایندکس ها روی ستونهای مهم استفاده کنید. (سرعت جستجو و واکشی بالا میره)
تعداد مطالب در هر صفحه رو زیاد نگیرید مثلا 10 مطلب در هر صفحه ، اگر لازم بود کاربر خودش صفحه بعد رو درخواست میده
اگر میزان تولید مطالب در کسر زمان زیاد باشه از دیتابیس های غیر رابطه ای استفاده کنید
اگر تعداد بازدید کننده های داخل ایران از بازدید کنندگان خارجی بیشتر باشه سرور مجازی رو داخل ایران تهیه کنید تا Ping Time پایینتری داشته باشین.
حتما از Css Sprite استفاده کنید تا میزان درخواست ها به سرور کم بشه. استفاده از Web Optimization یادتون نره خیلی توی کارایی سایت تاثیر داره.
سروری که انتخاب میکنید تعداد هسته های CPU رو هرچی بالاتر بگیرید سرعت پردازش ، واکشی و عملیات بیشتر میشه. (برای شروع 2 هسته 2.4 فکر میکنم کافی باشه)
پس از مدتی که وب سایت کار کرد در ساعات پربازدید سرور رو مانیتور کنید و میزان استفاده از منابع رو ببینید و براساس نیازتون اونها رو کم و زیاد کنید.
و کدنویسی بهینه هم هست که بسته به خودتون داره
تجربه من: یکی از شبکه های اجتماعی پر بازدید با متوسط 5000 کاربر آنلاین رو با SQL Server پیاده سازی کردم و هیچ مشکلی از لحاظ سرعت نداره. (زیاد نگران نباشید)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.