SQL Server
3.91K subscribers
19 photos
7 videos
36 files
168 links
حمید رضا صادقیان

🔴طراح‌ومشاوربانک های اطلاعاتیSQLSERVER
⚫️مدرس دوره های آموزشیDatabase

ارتباط با من:
@Hamidreza_Sadeghian

گروه تبادل نظر:
https://t.me/+uIc1qhv58gU0NWQ0
Download Telegram
سلام خدمت دوستان عزیز
امیدوارم حالتون خوب باشه
یکی از نکاتی که در اکثر سرورها باهاش برخورد میکنم عدم تنظیم صحیح Cost Threshold for Parallelism هست.
پیش فرض این عدد موقع نصب 5 هست ولی حاالا اجازه بدین که در خصوص این مورد بیشتر توضیح بدم.
فرض کنید شما یک کارتن بهتون دادن که داخلش 100 عدد موبایل هست و قراره شما اینو ارسال کنید به بندرعباس.
اگر شما بیاین این جعبه رو باز کنید و به صدتا اتوبوس بدین و هر موبایل با یک اتوبوس به بندرعباس ارسال بشه ، هزینه خیلی زیادی برای شما خواهد داشت مضاف براینکه بندرعباس هم باید یک هزینه اضافی بکنید که این موبایلهارو از تک تک اتوبوسها بگیرید و جمع آوری کنید.
حالا اگه این کارتن رو با یک اتوبوس یا هواپیما ارسال کننید با هزینه زمانی و ریالی خیلی کمتر به مقصد ارسال خواهد شد.
ولی فرض کنید قراره صد تا یخچال فریزر ساید بای ساید رو به بندرعباس ارسال کنید. اینجا دیگه توی یک ماشین جا نمیشه و میتونه براتون دردسر ساز بشه پس ناچارید چندتا ماشین تهیه کنید وو این هارو ارسال کنید. چون اگه قرار باشه بایک ماشین ارسال بشه میتونه هزینه زمانی زیادی برای شما داشته باشه که صبر کنید ماشین بره برگرده دوباره یک پارت دیگه بار بزنه.
حالا برگردیم سرQuery ها. وقتی یک Query با یک هزینه پایین مثلا 10 داره اجرا میشه و براساس این تنظیمات مجبوره پارالل اجرا بشه حکم همون جعبه موبایلها رو داره که این باعث هدر رفتن منابع سرور من جمله CPU خخواهد شد و Wait های بر روی CPU افزایش پیدا میکنه.
ولی وقتی مثلا Cost کد شما فرضا بالای 100 هست اینجا معمولا بهتره به صورت پارالل اجرا بشه که سریعتر کد محاسبه و اجرا بشه تا به نتیجه برسه.
پس بهتره این عدد رو درست تنظیم کنیم تا کدهایی که با Cost های پایین هستن به صورت پارالل اجرا نشن و همین باعث میشه خیلی از Wait های موجود بر روی CPU در سرورهای شلوغ کاهش پیدا کنه و به نوعی Blocking یا Deadlock ها به مقدار زیادی کاهش پیدا کنه.
این عدد معمولا روی 50 تنظیم میشه ولی بسته به نوع و قدرت سرورها میتونه روی 100 یا 200 نیز تنظیم بشه.
برای تنظیم اون هم بر روی Instance راست کلیک و Properties رو بزنید در قسمت Advanced میتونید این پارامتر رو تنظیم کنید.

امیدوارم این نکته مفید واقع بشه.
ارادتمند شما

حمیدرضا صادقیان

#Cost_Threshold_For_Parallelism
#MAXDOP

@Hamidreza_Sadeghian
👍3