تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: آيا امكان تسهيم اجراي دستورات SQL روي تمام هسته هاي پردازنده وجود دارد؟

  1. #1
    کاربر فعال انجمن فوتبال داخلی Pejvak61's Avatar
    تاريخ عضويت
    Apr 2006
    محل سكونت
    شهر باران
    پست ها
    1,602

    پيش فرض آيا امكان تسهيم اجراي دستورات SQL روي تمام هسته هاي پردازنده وجود دارد؟

    آيا راهي وجود داره كه بشه دستورات SQL هنگام اجرا به جاي فقط يك هسته (CPU شناخته شده براي سيستم) از تمام هسته ها به صورت موازي استفاده كنه؟

    من توي اجراي دستورات SQL روي سروري كه 8 هسته داشت (2 پردازشگر 4 هسته اي) ديدم در هربار اجراي دستورات يك هسته به usage 100% رسيده و بقيه هيچ تأثيري نپذيرفتن و با اتمام عمليات، دستور بعدي رو اجرا كردم اينبار اون هسته رو ول كرد رفت سراغ هسته ديگه و اونو Usage 100% كرد.

  2. #2
    پروفشنال MicrosoftH's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    Persia
    پست ها
    810

    پيش فرض

    ببینید بنظر من فکر نکنم بشه چون شما در SQL فقط دستورات رو دارید و نمیتونید اصلا حافظه رو کنترل کنید این SQL SERVER هستش که دستورات به پردازنده میده (نظر شخصی)

  3. این کاربر از MicrosoftH بخاطر این مطلب مفید تشکر کرده است


  4. #3
    کاربر فعال انجمن فوتبال داخلی Pejvak61's Avatar
    تاريخ عضويت
    Apr 2006
    محل سكونت
    شهر باران
    پست ها
    1,602

    پيش فرض

    من از جايي شنيدم كه اين خود سيستم عامله كه ميزان تسهيم وظايف را بين هسته هايش انجام ميده و هر وظيفه اي كه به سيستم عامل داده ميشه به نسبت، به هسته هاي CPU سپرده ميشه تا پروسه در سريعترين زمان ممكن انجام بشه.

    اما در عمل نديدم كه هميشه چنين اتفاقي بيفته نمونه اش هم پردازش اطلاعات مربوط به محاسبات نرم افزارهاي سه بعدي ساز از قبيل 3ds max بوده كه تنظيماتي در برنامه اش داشت كه ميتونست از استفاده همزمان از تمام هسته هاي پردازشگر بهره مند بشه يا نشه. و موقعي كه يك render‌ انجام ميشه بريد task manager را باز كنيد و يك نگاهي به ميزان استفاده شدن CPU‌ را بندازيد، ميبينيد كه تمام هسته ها full هستن و در حين انجام اون render‌، پروسه هاي ديگه اونقدر كند انجام ميشن كه انگار متوقف شدن.

    اما در ويندوز سرور 2008 يا 2003 كه روش Sql Server نصبه، من دقت كردم كه وقتي كاربري در شبكه با استفاده از application خودش يك query سنگين به sql server ميفرسته تنها يكي از هسته ها يا بهتره بگم يكي از thread ها به 100% Usage ميرسه و بقيه بيكار هستن و جالبه كه وقتي اجراي اون query به اتمام ميرسه و query جديد ارسال ميشه thread بعدي شروع به كار ميكنه و به 100% Usage ميرسه و همينطور الي آخر. و هيچوقت به طور همزمان نديدم چند هسته يا thread‌ با هم در حال اجراي احكام sql باشن. البته يك فرض اينجا وجود داره و اونهم بر اين دلالت داره كه به دليل شبكه بودن اين سيستم ها و امكان فرستاده شدن چندين و چند query سنگين به سرور، اين سرور بايد توانايي پاسخگويي با كيفيت يكسان به همه درخواستها را داشته باشه و به همين دليل هم فقط يك هسته يا thread‌ را به محاسبات اين قسمت به هر كاربر اختصاص ميده.

    با تمام اين تفاسير باز هم همه اين مواردي كه مطرح شد فرض هستن و ممكن درست نباشن اما از دوستاني كه دستي در علم سيستم عامل دارند تقاضا دارم در اين باره اگر نظري دارند عنايت بفرمايند تا مستفيض بشيم (به فيض برسيم!)

  5. #4
    پروفشنال MicrosoftH's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    Persia
    پست ها
    810

    پيش فرض

    ببینید اجرای دستورات در هسته که به کدوم هسته داده بشه توسط ویندوز بصورت اتوماتیک انجام میشه و شما هیچ نقشی در اون ندارید برای 3dmax ببیند دستورات این برنامه ها خیلی حرفه هستش و برای رندر کردن از CPU بصورت موازی بهره میگیره ولی در SQL سرور نیازی به این کار نیست

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •