PDA

View Full Version : سوال: اتصال همزمان کاربران زیاد



mehran_337
پنج شنبه 21 فروردین 1393, 07:00 صبح
با سام خدمت دوستان

1 - سایتی طراحی کرده ام که آزمون آن لاین برگزار می کند. اگر تعداد کاربران آن لاین حداقل 1000 نفر باشد آیا برای کد نویسی و یا اتصال به دیتابیس باید از روش خاصی استفاده کنم ؟
منظورم اینه که روش اتصال به بانک برای کاربرای تعداد بالا متفاوت از همین روش ado هستش ؟

2 - چه راهی داره وقتی تعداد ترافیک زیاد شد و سایت نمی تونه این بار و تحمل کنه بجای اینکه صفحه expire نشون بده کد خودمونو نشون بده؟

با تشکر

mehran_337
شنبه 23 فروردین 1393, 06:57 صبح
دوستان راهنمایی کنند لطفا

kohyar
شنبه 23 فروردین 1393, 07:14 صبح
دوست عزیز بنده بخاطر سرعت روش خاصی رو پیشنهاد نمی کنم
فقط نکاتی که به نظر بنده مهم هستش:
1- طراحی دیتابیس بهینه با اخذ نظرات یک متخصص دیتابیس که بتونه دیتابیس بهینه رو طراحی کنه
2- پهنای باند با سرعت بالا. یعنی باید از یک شرکتی هاستینگ بگیری که سرورهای قوی و اینترنت با پهنای باند خوب داشته باشه
3- حد الامکان باید سعی کنی پردازش ها رو در سمت کلاینت انجام بدی. بعنوان مثال چک کردن خطاها در هنگام پر کردن فرم. تا اینکه اطلاعات به سرور ارسال نشه و بعد از پردازش اطلاعات بدلیل وجود خطا نیاز به پر کردن مجدد فرم توسط کاربر نباشه
4- از آژاکس حتماَ استفاده کنید.
5- در واکشی اطلاعات از سرور حتماً تعداد رکوردهای کمتر و تنها فیلد های ضروری واکشی بشن
دوستان دیگه هم لطفاً نقطه نظرات خودشون رو بگن

meysam99
شنبه 23 فروردین 1393, 11:17 صبح
با سلام
من یک سایت با تعداد کاربر بالا دارم که باهاش کار میکنم و چند تا نکته که مهم هست رو بهش اشاره میکنم.
یک داشتن سرور خوب و اختصاصی با رم به مقدار لازم.
طراحی بانک اطلاعاتی به درستی با توجه به تعداد رکوردهایی که قرار هست وارد شود. حتی اگر لازم بود خلاف نرمالایز استفاده کن.
اینکس کردن بانک اطلاعاتی بر حسب کوئری های موجود در سیستم و کم کردن استفاده از جوین
استفاده از کش کردن اطلاعات بر روی رم و کم کردن مراجعات به بانک اطلاعاتی یعنی کش مرحله دوم که با یک طراحی و معماری خوب می توانی پیاده کنید.
اگر از orm ها استفاده می کنی باید یک سری از امکانات رو غیر فعال کنی ولی نظر من این هست که ado.net خیلی بهتر هست.
اگر این نکات را رعایت کنی برای کاربران بالا هم هیچ مشکلی نداری.
الان سایت من 8000 کاربر داره و روزانه 14000 بازدید و عملیات بسیار زیاد پشت پرده فکر کنم روزانه بالای 1 میلیون رکورد و فقط هم 8 گیگ زم ولی میانگین پرفرمنس پردازشگرم 5 درصد نمی شود. همین نکات بالا در طراحی استفاده شده است
موفق باشی

r4hgozar
شنبه 23 فروردین 1393, 11:29 صبح
سلام دوست عزیز.
من اگه بخوام چیزی رو راهنمایی کنم اینکه اول وقت زیادی رو روی طراحی و مخصوصا تحلیل ‍‍‍‍داده ها تون بزارین
بعد هم از storedprocedure ها استفاده کنین خیلی بهتون کمک می کنه.
از روش های جدید اتصال بایگاه داده به برنامه استفاده کنین مثل entityfreamwork.
حتما هم از یک سرور ایرانی و \ر سرعت استفاده کنین برای بالا بردن سرعت.
موفق باشید

mehran_337
شنبه 23 فروردین 1393, 12:21 عصر
با تشکر از راهنمایی همه دوستان .
در خصوص سوال دومم نظری نیست ؟

r4hgozar
شنبه 23 فروردین 1393, 12:27 عصر
اون اصلا ربطی به برنامه نویسی شما نداره. اون تو نتظیمات سرور که چه اروری بده. البته تا جایی که من می دونم

mehran_337
چهارشنبه 27 فروردین 1393, 16:44 عصر
مثلا اینکه پهنای باند باقیمانده رو حساب کرد و اگر نفر بعدی خواست وارد بشه پیغام بدیم سرور در درسترس نیست ؟

alireza_wills
پنج شنبه 28 فروردین 1393, 10:24 صبح
سلام
من کلا پیشنهاد میکنم برای داده های زیاد از NoSql استفاده بشه. که میشه به یکی از بهترین آنها یعنی mongodb اشاره کرد.

http://www.codeproject.com/Articles/87757/MongoDB-and-C

http://docs.mongodb.org/ecosystem/tutorial/use-linq-queries-with-csharp-driver/