وب سایت سید حامد واحدی | Seyedhamed Vahedi Website

دلایل کند شدن سرور SQL Server


کند شدن سرور SQL Server می تواند ناشی از مشکلات سخت افزار، مدیریت حافظه و بهینه نبودن کد و مدل داده ای باشد.

تنظیمات حداکثر حافظه سرور:
تنظیمات حداکثر حافظه سرور مسئول طیف گسترده ای از مشکلات است. بسیاری از مردم وقتی با مشکل کندی سرور مواجه میشوند به ریست کردن SQL Server یا خود سرور مشکل را حل می کنند ولی پس از مدتی مشکل مجددا مشاهده می شود. SQL Server وقتی شروع به کار می کند شروع به گرفتن حافظه سیستم می کند زیرا در طراحی آن فرض شده است که مهمترین کاربرد در سرور است. به همین دلیل حافظه را تا ماکزیمم اندازه تعریف شده اخذ خواهد کرد. و فرایندهای اضافی و غیرضروری نیز باعث می شود که درخواست حافظه صادر شود که، سیستم عامل به SQL Server اعلام می کند که به حافظه بیشتری نیاز دارد ولی SQL Server همیشه به سرعت پاسخگو نیست و اندازه کمی از حافظه را آزاد می کند تا اینکه سیستم عامل آن را متوقف می کند.
اما چه میزان حافظه مناسب است؟ این سوال به عوامل متعددی وابسته است. اما پیشنهاد می شود که حافظه کمی به SQL Server بدهید و سپس با نظارت دقیق روی حافظه مصرف شده و فرایندهای در حال اجرا و اصلاح فرایندهای غیرضروری و بهینه سازی ساختار و مدل داده و ..... به میزان قابل قبول رسید.

عدم تطابق نوع داده:
اگر در زمان طراحی مدل و دیتابیس به نوع داده ها دقت نکنید، برای انجام امور جاری نیاز خواهید داشت که نوع داده ها را متناوبا به یکدیگر تبدیل کنید. این تبدیل ها در زمان تست و داده های کوچک اصلا قابل اعتنا نیست. اما زمانی که در شرطی از این نوع داده استفاده می کنید یا این فیلد در Join دخالت پیدا می کند، ممکن است SQL Server نیاز داشته باشد که تمام مقادیر این فیلد را تبدیل کند.

توابع روی ستون ها:
برنامه نویسان دوست دارند که برنامه شان قابل استفاده مجدد باشد. استفاده از توابع وقتی که شما نیاز به منطق های پیچیده تکراری بسیار ساده است اما تکرار این تابع میتواند هزینه زیادی در پرس و جوها تحمیل کند. زیرا این تابع برای هر سطر از جدول تکرار می شود. ضمن اینکه مشکل مربوط به تابع در Query Plan نمایش داده نمی شود و بهتر است شما در یک Loop هزینه عملیات تابع را بررسی کنید تا متوجه ضعف یا مشکل بشوید. این مشکل در مورد توابع Built-in هم صدق می کند.

سید حامد واحدی سید حامد واحدی     13 مهر 1396