خانه SQL Server Optimizing TempDB Performance SQL Server نوشته شده توسط: قاسم گل میری ۱۵ آذر ۱۳۹۴ زمان مطالعه: 6 دقیقه ۰ (۰) مقدمه اندازه و محل قرار فیزیکی از tempdb ده می تواند عملکرد سیستم یا به اصطلاح performance سیستم تاثیر داشته باشد. به عنوان مثال، اگر اندازه Tempdb بیش از حد کوچک باشد بخشی از بار سیستم پردازش ممکن است صرف autogrowing شود که هربار درخواست فضا زمان لازم دارد. فایل های TempDB را به چند فایل مساوی تقسیم کنید تا از حد اکثز پهنای باند storage خود استفاده کنید. توصیه میشود به تعداد هسته های cpu تا ۴ تا فایل بسازید اگر بالای ۸ تا هسته داشتید تعداد فایل برابر تعداد هسته ها تقسیم بر ۲ باشد. در زمان نصب SQL Server 2016 شما می توانید تعداد فایل های Tempdb را مشخص کنید. به طور پیش فرض مقدار آن ۸ است یا به اندازه تعداد هسته های پردازنده شما می باشد.که می تواند تا تعداد هسته های پردازنده افزایش داد. داشتن چندین فایل می تواند کمک کند که سیستم منتظر IO نماند و نیاز به آزاد کردن Buffer Pool بزرگ و حجیم نباشد الگوهای IO اساسا تصادفی منجر شود که استخر بافر نیاز به آزاد کردن فضای طریق lazywriter (ایست های بازرسی از Tempdb نمی صفحات داده خیط و پیت کردن) برای سیستم های با استخر بافر بسیار بزرگ نیست اما * تعداد زیادی از داده ها * از Tempdb. اگر زیر سیستم I / O می تواند بار در سراسر چندین فایل رسیدگی نمی کند، آن را شروع به کم کردن سرعت. recovery mode باید در حالت simple باشد. با توجه به اینکه اطلاعات موجود در TempDB مهم نیستند دلیل ندارد که حالت Full قرار داده شود و Log را بی مورد اشغال کند . بهتر است فایل ها بر روی سریعترین دیسک باشد ترجیحا raid صفر . در TempDB سرعت برای ما مهم است و خطر از دست رفتن دیتا مارو تهدید نمیکند چون دیتای با اهمیتی در این دیتابیس وجود ندارد بنابر این بهتر است فایل ها روی دیسکی که بصورت Raid صفر بسته شده اند ایجاد شوند. tempDB با شرینک خالی نمیشود و تنها راه خالی کردن آن restart کردن SQL Server است. Viewing tempdb Size and Growth Parameters SELECT name AS FileName, size*1.0/128 AS FileSizeinMB,CASE max_size WHEN 0 THEN 'Autogrowth is off.' WHEN -1 THEN 'Autogrowth is on.' ELSE 'Log file will grow to a maximum size of 2 TB.' END, growth AS 'GrowthValue', 'GrowthIncrement' = CASE WHEN growth = 0 THEN 'Size is fixed and will not grow.' WHEN growth > 0 AND is_percent_growth = 0 THEN 'Growth value is in 8-KB pages.' ELSE 'Growth value is a percentage.' END ;FROM tempdb.sys.database_files GO چه رتبه ای میدهید؟ میانگین ۰ / ۵. از مجموع ۰ اولین نفر باش برچسب ها # Buffer Pool# Performance# SQL Server# TempDB# آموزش SQL Server معرفی نویسنده مقالات 1 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده قاسم گل میری پروفایل نویسنده معرفی محصول مسعود طاهری آموزش ۳ در ۱ Performance Tuning در SQL Server 6.700.000 تومان 4.020.000 تومان مقالات مرتبط ۰۵ فروردین SQL Server عملگر LIKE در SQL Server – نحوه استفاده از عملگر LIKE چگونه است؟ تیم فنی نیک آموز ۲۷ اسفند SQL Server Schema در SQL Server چیست؟ آشنایی با روش های ایجاد اسکیما تیم فنی نیک آموز ۲۰ اسفند SQL Server آشنایی با دستور CREATE VIEW در SQL Server + مزایا و کاربردها تیم فنی نیک آموز ۰۶ اسفند SQL Server دستور Create Table در SQL Server – آشنایی با کاربردها و نحوه ایجاد جدول تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ غلامحسین عبادی ۱۶ / ۰۹ / ۹۴ - ۰۴:۱۲ باسلام ممنون از زحمات شما استاد عزیز پاسخ به دیدگاه مجتبی شهریور ۱۵ / ۰۹ / ۹۴ - ۱۲:۴۴ سلامجناب مهندس مقالتون بسیار خوب بود پاسخ به دیدگاه مسعود طاهری ۱۵ / ۰۹ / ۹۴ - ۰۹:۴۷ سلام قاسم جان متشکرم از مقاله شما در جهت تکمیل یکی از مهمترین دلایل افزایش دیتا فایل های مربوط به TempDB کاهش مشکل Latch Contention می باشد. این مشکل به ازای Allocation Pageها در دیتا فایل رخ می دهد که ما با افزایش دیتا فایل به نسبت CPU Coreها می توانیم این مشکل را به حداقل برسانیم. همچنین در نظر داشته باشید که زمانی که SQL Server را به صورت Failover Cluster نصب می کنید می توانیم این دیتا بیس را به جای SAN در Local Storage سرور ها روی دیسک های پرسرعت مانند SSD ذخیره کنیم. موفق باشید پاسخ به دیدگاه قاسم گل میری ۱۸ / ۰۹ / ۹۴ - ۱۰:۲۵ سپاسگزارم پاسخ به دیدگاه 1 2