این مقاله پیکربندی حافظه را در سرویس های تجزیه و تحلیل سرور SQL و سرویس های تجزیه و تحلیل Azure شرح می دهد. تغییر این تنظیمات ممکن است بر عملکرد و خطاهای حافظه تأثیر بگذارد.

وقتی نمونه‌هایی از سرویس‌های تجزیه و تحلیل سرور SQL (SSAS) یا سرویس‌های تجزیه و تحلیل Azure را مدیریت می‌کنید، می‌توانید تنظیمات یک نمونه یا اینستنس از حافظه را تغییر دهید. تنظیمات پیش‌فرض معمولاً برای پیکربندی‌های عمومی مناسب هستند. که گفته شد، ممکن است بخواهید تنظیمات دیگری را برای بهینه سازی حجم کاری سنگین تر، dedicated Machine یا حل خطاهای حافظه در شرایط خاص در نظر بگیرید. هدف مقاله ارائه نکات کاربردی برای بهینه سازی تنظیمات حافظه برای سناریوهای خاص است. مگر اینکه در غیر این صورت مشخص شده باشد، تنظیمات برای تمام نسخه های خدمات تحلیلی (AS) اعمال می شود.

این مقاله توضیح نمی دهد که چگونه خدمات تجزیه و تحلیل از حافظه استفاده می کند. فصل 14 مدل سازی جدولی در سرویس های آنالیز سرور SQL شامل توضیح کاملی در مورد مدیریت حافظه در سرویس های آنالیز می باشد.

سلب مسئولیت: قبل از هر گونه تغییر در تنظیمات حافظه خود، اسناد را به دقت بخوانید. قبل و بعد از هر تغییری، همیشه معیارهای عملکرد و حافظه را اندازه بگیرید و اگر تغییرات اعمال شده نتایج مورد انتظار را ایجاد نکرد، به تنظیمات حافظه اصلی برگردید.

دسترسی به تنظیمات حافظه

برای دسترسی به تنظیمات حافظه، باید:

HardMemoryLimit

این حداکثر حافظه ای است که AS می تواند اختصاص دهد. اگر AS از محدودیت دیسک درایو فیزیکی یا HDD فراتر رود، سیستم به شدت جلسات فعال را از بین می برد تا استفاده از حافظه را کاهش دهد. جلساتی که به این دلیل از بین میروند ، خطایی دریافت می کنند که لغو به دلیل فشار حافظه را توضیح می دهد. با VertiPaqPagingPolicy در 0، همچنین محدودیتی برای حداکثر مجموعه کاری فرآیند است. اگر HardMemoryLimit روی 0 تنظیم شده باشد، از یک مقدار پیش‌فرض بین TotalMemoryLimit و کل حافظه فیزیکی استفاده می‌کند – یا فضای آدرس مجازی کل، اگر روی یک ماشین 32 بیتی هستید که حافظه فیزیکی در آن از حافظه مجازی بیشتر است.

HeapTypeFor Objects

سیستم heap را برای تخصیص اشیاء با اندازه ثابت، مانند نمونه هایی از کلاس ها در C++ انتخاب کنید. C++ زبانی است که مایکروسافت برای نوشتن خدمات تحلیلی استفاده می کند. مقادیر ممکن به شرح زیر است.

ارزش                                      توضیحات

 

1-                                         موتور تنظیمات مورد استفاده را تعیین می کند.

 

0                                          از هیپ با تکه تکه شدن پایین ویندوز (LFH) استفاده می کند.

 

1                                          از پیاده سازی Heap سفارشی سرویس های تجزیه و تحلیل استفاده می کند.

 

3                                         هر شی دارای Heap خدمات تحلیلی مخصوص به خود است.

LowMemoryLimit

این نقطه ای است که سیستم شروع به پاک کردن کش ها برای آزاد کردن حافظه می کند. همانطور که استفاده از حافظه بالاتر از حد کم حافظه افزایش می یابد، SSAS در مورد بیرون انداختن داده های حافظه پنهان تا زمانی که به محدودیت حافظه بالا/کل برسد، تهاجمی تر می شود. در این مرحله، هر چیزی که سنجاق نشده است را بیرون می‌کند.

AS تا زمانی که به این آستانه نرسد، حافظه اختصاص داده شده را آزاد نمی کند.

 

MemoryHeapType

سیستم heap را برای تخصیص اشیاء با اندازه های پویا، مانند رشته ها، بردارها، بایت ها و غیره انتخاب کنید. مقادیر ممکن به شرح زیر است:

ارزش                                                   توضیحات

1-                                             موتور تنظیمات مورد استفاده را تعیین می کند.

 

1                                              از پیاده سازی سفارشی Heap خدمات تجزیه و تحلیل (AS) استفاده می کند.

 

2                                              از هیپ با تکه تکه شدن پایین ویندوز (LFH) استفاده می کند.

 

5                                            تخصیص دهنده هیبریدی. این تخصیص دهنده از Windows LFH

                                              برای تخصیص <= 16 کیلوبایت و از AS Heap برای  تخصیص> 16 کیلوبایت                                  استفاده می کند

 

6                                             تخصیص دهنده بلوک های ساختمانی Threading اینتل (TBB).

QueryMemoryLimit

حافظه مورد استفاده در هنگام پرس و جو را کنترل کنید. این تنظیم در نسخه‌های SSAS قبل از 2019 در دسترس نیست. در SSAS 2019، این تنظیم اجرای نتایج پرس‌وجو میانی DAX را محدود می‌کند و برای جستارهای MDX اعمال نمی‌شود.

در Azure Analysis Services، این تنظیم فقط به قرقره‌های حافظه محدود نمی‌شود و برای تمام حافظه‌های مورد استفاده هر دو پرس‌وجوهای DAX و MDX اعمال می‌شود.

 

مقدار 0 این محدودیت را فعال نمی کند.

TotalMemoryLimit

اگر استفاده از حافظه از حد کل حافظه بیشتر شود، مدیر حافظه تمام داده های کش شده را که در حال حاضر استفاده نمی شود، خارج می کند. TotalMemoryLimit همیشه باید کمتر از HardMemoryLimit باشد.

 

از MemoryHolders استفاده کنید

هنوز مستند نیست. ما فرض می کنیم که فقط برای استفاده داخلی است.

VertiPaqMemoryLimit

اگر VertiPaqPagingPolicy را روی 0 تنظیم کنید، VertiPaqMemoryLimit مقدار کل حافظه ای را که VertiPaq می تواند در مجموعه کاری قفل کند را تعیین می کند – یعنی کل حافظه ای که می تواند برای پایگاه های داده درون حافظه استفاده شود. به یاد داشته باشید که AS ممکن است به دلایل دیگری از حافظه بیشتری استفاده کند.

وقتی VertiPaqPagingPolicy روی 1 تنظیم می شود، محدودیتی برای حافظه فیزیکی که توسط VertiPaq استفاده می شود و در حافظه پین ​​می شود، تعیین می کند. این اجازه می دهد تا صفحه بندی برای حافظه باقیمانده (حافظه متعهد مجازی) بالاتر از این حد باشد.

VertiPaqPagingPolicy

این تنظیم صفحه بندی داده های مدیریت شده توسط موتور ذخیره سازی VertiPaq را کنترل می کند.

ارزش                                                توضیحات

 

0                                                صفحه بندی را غیرفعال می کند. اگر حافظه کافی نباشد، پردازش با خطای

                                                 خارج از حافظه انجام نمی شود.

 

1                                                 صفحه بندی روی دیسک را با استفاده از فایل صفحه سیستم عامل          

                                                  (pagefile.sys) فعال می کند.

وقتی آن را روی 1 تنظیم می کنید، فقط دیکشنری های هش در حافظه قفل می شوند. صفحات داده را می توان بر روی دیسک شستشو داد. این امر VertiPaq را قادر می سازد تا از حافظه بیشتری نسبت به آنچه در دسترس است استفاده کند. به خاطر داشته باشید که اگر صفحه‌بندی اتفاق بیفتد، عملکرد دچار افت شدید می‌شود.

پیش‌فرض برای سرویس‌های تحلیل Azure 0 (صفحه‌بندی غیرفعال) و برای SSAS 1 است (صفحه‌بندی فعال است). از آنجایی که عواقب انتخاب یکی یا دیگری شدید است، یادآوری مجدد رفتار AS در دو حالت مفید است.

اندازه مجموعه کاری AS برای استفاده از VertipaqMemoryLimit تنظیم شده است – بنابراین تضمین شده است که حافظه فیزیکی برای داده های Vertipaq در دسترس باشد.

 اگر AS دارای امتیازات کافی باشد، ممکن است حافظه Vertipaq را در حافظه فیزیکی قفل کند – اگر حافظه در دسترس نباشد، تخصیص ممکن است با شکست مواجه شود.

 با مقدار پیش‌فرض 20 درصد، محدودیت 5 نمونه SSAS وجود دارد که می‌توانند روی یک سرور اجرا شوند.

هنگامی که حافظه پردازش از LowMemoryLimit فراتر می رود و به TotalMemoryLimit نزدیک می شود، پاک کننده شروع به تمیز کردن کش ها می کند و در نهایت سیستم به حالت پانیک می رود و شروع به لغو جلسات می کند.

اگر صفحه‌بندی روشن است :

اندازه مجموعه کاری AS طوری تنظیم شده است که به VertipaqMemoryLimit برسد.

فرآیند پاک کننده وانمود می کند که تخصیص های Vertipaq وجود ندارد – قبل از LowMemoryLimit + شروع به تمیز کردن نمی کند.

 در این شرایط، فرآیند AS به شدت بیش از حد متعهد است.

هنگامی که درخواست‌های حافظه اضافی وجود دارد، AS صریحاً به ویندوز می‌گوید که مقداری از حافظه Vertipaq را صفحه‌بندی کند و مجموعه کاری فرآیند را برای سایر نیازهای حافظه آزاد کند.  هنگامی که AS به داده های صفحه بندی شده نیاز دارد، به طور خودکار توسط ویندوز صفحه بندی می شود، که برخی از داده های دیگر را صفحه می کند.

دوره های مرتبط

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

 

آنالیز داده و هوش تجاری یکی از پردرآمدهای شغل های دنیا چه در داخل کشور و چه خارج از کشور است. ما در دوره آموزشی  صفر تا صد هوش تجاری را به صورت تضمینی آموزش میدهیم.

آموزش ویدیویی هوش تجاری در SQL

 

شما در این دوره آموزشی (آموزش ویدیویی هوش تجاری در SQL) با مفاهیم و اصول هوش تجاری در SQL آشنا می شوید.

آموزش صفر تا صد داشبورد سازی در سی شارپ

 آموزش کامل و پروژه محور مباحث به همراه مثال کاملا عملی در محیط سی شارپ که یک محیط برنامه نویسی ماکروسافتی می باشد. دوره آموزش داشبورد سازی در سی شارپ شامل ساخت یک داشبود زیبا در محیط سی شارپ به کمک کامپوننتهای ssrs و Chart.js می باشد. 

آموزش کاملا حرفه ای ویدیویی هوش تجاری در Oracle

آموزش ویدیویی هوش تجاری در Oracle ابتدا به بررسی ساختار کلی هوش تجاری اوراکل پرداخته و سپس به مراحل نصب نرم افزارهای مرتبط با کار خود می پردازیم. سپس مباحث آنالیز داده و فاندامنتال کار را بررسی کرده و در خصوص ریپازیتوری و مسایل مربوط به ان صحبت می کنیم.