نمایش نتایج 1 تا 4 از 4

نام تاپیک: امکانات و تکنولوژیهای نرم افزاری و سخت افزاری برای افزایش سرعت

  1. #1

    امکانات و تکنولوژیهای نرم افزاری و سخت افزاری برای افزایش سرعت

    فرض کنیم میخواهیم برای انتخاب واحد دانشجویان یک دانشگاه،یک application بنویسیم.
    همونجور که میدونید بطور متوسط حداقل 500 دانشجو ممکن است در یک لحظه خاص (مثلا بین ساعت 7 تا

    7:15) بخواهند انتخاب واحد کنند.مطمئنا اگه بخواهیم بصورت عادی چنین برنامه ای بنویسیم سرور قادر به

    پاسخگویی این دانشجویان نیست.چه راه حلهایی برای رفع این مشکل پیشنهاد میکنید؟هدفم استفاده از

    امکانات جدید SqlServer و تکنولوژیهای سخت افزاری هست.
    نکته:فعلا کاری به امنیت اطلاعات نداریم.بصورت عملی با این تکنولوژیها کار نکردم، اگر جایی اشتباه گفتم تصحیح کنید.

    1-اولین روشی که در این سایت پیدا کردم این بود که از filegroup هااستفاده کنیم.مثلا جداولی که فقط خواندنی هستند را روی یک هارد، و جداولی را که انتخاب واحد دانشجویان در آن ذخیره میشود روی یک هارد دیگر بگزاریم.

    2-استفاده از load balancing: در این روش یک سرور حجم کاری را به سرور دیگری منتقل میکند ولی اینجا
    مشکل این است که اگر دانشجویی درسی را انتخاب کرد،جدول اصلی دروس باید تغییر کنید.حالا ما نمیتونیم این جدول اصلی دروس را در سرورهای مختلف بگزاریم؟در این روش load balancing چه فایده ای دارد؟load
    balancing بر روی ارتباط شبکه ای با سرعت پایین(یا اینترنت معمولی) اثر دارد یا بر روی IO دستورات SQL ؟
    کار برد load balancing را مثلا در سایت youtube میتوانم متوجه بشم چون فیلمها را میتوان در سرورهای جدا قرار داد ولی اینجا جدول دروس اصلی را نمیتوان در سرورهای مختلف گزاشت!

    3- cluster services:تنها کارش سرور پشتیبان هست؟

  2. #2
    کاربر تازه وارد آواتار iman_Delphi
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    زیر پوست شهر
    پست
    89

    نقل قول: امکانات و تکنولوژیهای نرم افزاری و سخت افزاری برای افزایش سرعت

    علاوه بر روش هاي بالا دوست من اين موضوع هم توجه كنيد خوبه چرا كه منم بهش برخوردم

    از لحظه ورود دانشجو كليه عمليات رو در يك ترنس اكشن ببرين تا در صورت مشكل كليه عمليات دوباره به حالت اول برگرده

    براي هر دانشجو يك زماني بزارين مثلا" 4 ساعت توي سيستم مشغول بازي كردن و گزارشو ..... از اين جور داستانا نباشه و در 15 دقيقه عملياتش رو انجام بده

    بستري رو فراهم كنيد كه قبلش دانشجو بتونه مواردي رو كه مي خواد انتخواب كنه و زماني كه مياد داخل سيستم كارشو انجام بده بره + كلا" محدود كنيد به نظر من

    البته نمي دونم چقدر كمكتون كردم اما اميدوارم بهرهمند شده باشين

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    تهران
    سن
    47
    پست
    182

    نقل قول: امکانات و تکنولوژیهای نرم افزاری و سخت افزاری برای افزایش سرعت

    تعداد 500 کاربر همزمان خیلی زیاد نیست (البته به شرطی که برنامه و دیتابیس به درستی طراحی شده باشه) و SQL Server به راحتی جواب می ده.

    اما چیزی که باید خیلی خیلی بهش توجه کنید داشتن ایندکس های درست و صحیح روی جداول تونه.

    تراکنش هم در برخی مواقع خوب که چه عرض کنم، واجبه! چون اخذ درس توسط دانشجو می تونه مستلزم دستکاری چند جدول باشه (مثلاً یک رکورد به جدول دروس دانشجو اضافه می شه، ظرفیت گروه درسی هم یک واحد کم می شه). اگه تراکنش نداشته باشید دیتاتون از لحاظ منطقی مشکل پیدا می کنه (مثلاً گروه درسی ای دارید که بیش از ظرفیتش اخذ شده یا گروهی که می گه پره ولی نیست). اما نکته بسیار مهم در خصوص تراکنش اینه که حتماً باید حجم عملیات توی تراکنش تا جای ممکن کم باشه تا Lock ها سریع آزاد بشه. خصوصاً داشتن ایندکس های مناسب در این مورد بسیار بسیار اهمیت داره.

    لذا قبل از پرداختن به این مباحث پیشرفته در درجه اول حتماً باید ایندکس های درستی داشته باشید و حتماً دیتابیس تون رو هم Tune کنید.

    چون Clustering و load balancing و جدا کردن filegroup و این چیزها همه نسبت به ایندکس «فرع» محسوب می شن و اگه ایندکس درستی نداشته باشید هیچ کدوم از این تمهیدات کمکی بهتون نمی کنه.

  4. #4

    نقل قول: امکانات و تکنولوژیهای نرم افزاری و سخت افزاری برای افزایش سرعت

    با تشکر از دوستان.
    دقیقا نمیدونم در یک لحظه چند دانشجو جهت انتخاب واحد ممکن است به سایت مراجعه کند.ولی هر وقت میخواستیم از طریق سایت www.tcsh.ir انتخاب واحد کنیم،حتی با خط Adsl تا یک ساعت بعد نمیتونستیم وارد سایت بشیم.این مشکلو خیلی از دوستان در دانشگاههای دیگه هم دارند.دانشگاه مرودشت فارس از صبح تا عصر نمیتونند وارد سایت بشوند.تمام این دانشگاهها مثالهایی برای روشن کردن سوال خودم بود.فعلا قصد نوشتن برنامه برای دانشکدمونو ندارم.چون هنوز در مورد مباحثی که گفتم اطلاعات دقیقی ندارم.
    قسمت طراحی دیتابیس و ایندکس گزاری را تا حدودی خوب بلد هستم،ولی قصد داشتم از تکنولوژیهای سخت افزاری استفاده کنم.
    بعنوان مثال دانشگاهمون 100 تا کامپیوتر داره،حالا من میخوام چند تا از این کامپیوترارو به هم وصل کنم و زمان انتخاب واحد دانشگاه از اونا استفاده کنم.
    تااینجا بحث اقتصادی نیست،چون دانشگاه(الان یه دانشکده دیگه هستم) که کامپیوتر داره، منم بجای دروس کارآموزی و پروژه میخوام براشون اینکارا رو بکنم.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •