وقتی CPU بیدلیل ۱۰۰٪ میشه، اول Waitها رو نگاه کن! 😐😂
چند روز پیش توی یکی از مراکز، یک کندی عجیب داشتیم.
طبق معمول اولین کاری که من همهجا میکنم اینه که Monitoring رو راه میاندازم.
ولی اینجا هرچی نگاه میکردیم، چیز خاصی پیدا نمیکردیم.
نه Query خاصی، نه Index عجیبغریبی، نه چیزی که بگیم «آهاااا! خودشه!» 😐
ولی همین که ساعت شلوغی میشد...
و CPU میرفت هوا و کل مجموعه میخوابید! 😂
شروع کردیم به کلنجار رفتن با Indexها، CPU، Queryها و...
ولی نتیجه؟ تقریباً هیچ!
یه لحظه با خودم گفتم:
«بذار اصلاً ببینم این بدبخت الان سر چی Wait کرده!» 🤔
من Waitها رو بررسی کردم و دیدم بالای لیست نشسته:
🔥
اینجا بود که قضیه جالب شد.
نسخه SQL Server هم 2025 بود.
(البته قبلاً نصب شده بود؛ خودم شخصاً با نصب آخرین نسخهها در محیط عملیاتی خیلی موافق نیستم 😁)
یک بررسی کردم و مشخص شد در SQL Server 2025، برای SQL Authentication تغییراتی در مکانیزم رمزنگاری Credentialها ایجاد شده که در بعضی شرایط و مخصوصاً زمان Load بالا، میتونه فشار قابلتوجهی روی CPU ایجاد کنه.
یعنی ما داشتیم دنبال Index و Query میگشتیم...
مجرم داشت رمزنگاری میکرد! 😂
با فعال کردن Trace Flag مربوطه، رفتار رو به مدل SQL Server 2022 برگردوندیم و بعد هم باید Passwordها Reset میشدن تا Credentialها با مدل جدید/مناسب ذخیره بشن.
نتیجه؟
اینکه CPU تا قبلش داشت برای خودش زندگی میکرد:
📈 ۹۰٪... ۹۵٪... ۱۰۰٪...
بعد از تغییرات:
زیر ۵٪! 😐😂
یعنی تمام اون کندی وحشتناک، نه از Index بود، نه از Query، نه از کمبود CPU...
بندهخدا داشت Password رمزنگاری میکرد! 😂
و اما درس این داستان:
سر جدتون فقط چون یک نسخه جدید اومده، سریع نبریدش Production! 😂
اول ببینید نسخه جدید چه تغییراتی کرده، چه Known Issueهایی داره، چه رفتارهایی عوض شده.
بذارید حداقل چند تا Cumulative Update و Patch ازش رد بشه، چند ماه توی دنیای واقعی خودش رو نشون بده، بعد برید سراغ Production.
اینکه شما اولین نفر باشید که SQL Server 2025 رو توی Production نصب کرده، لزوماً یعنی:
«چقدر خفنیم» نیست! 😁
گاهی یعنی:
«تبریک میگم، شما اولین نفری هستی که قراره این Bug رو پیدا کنی!» 😂😂
راستی شما هم تجربهای از این مدل مشکلهای عجیب بعد از Upgrade داشتید؟
#SQLServer #DBA #SQLServer2025 #PerformanceTuning #Monitoring #WaitStats #Database #Performance
چند روز پیش توی یکی از مراکز، یک کندی عجیب داشتیم.
طبق معمول اولین کاری که من همهجا میکنم اینه که Monitoring رو راه میاندازم.
ولی اینجا هرچی نگاه میکردیم، چیز خاصی پیدا نمیکردیم.
نه Query خاصی، نه Index عجیبغریبی، نه چیزی که بگیم «آهاااا! خودشه!» 😐
ولی همین که ساعت شلوغی میشد...
و CPU میرفت هوا و کل مجموعه میخوابید! 😂
شروع کردیم به کلنجار رفتن با Indexها، CPU، Queryها و...
ولی نتیجه؟ تقریباً هیچ!
یه لحظه با خودم گفتم:
«بذار اصلاً ببینم این بدبخت الان سر چی Wait کرده!» 🤔
من Waitها رو بررسی کردم و دیدم بالای لیست نشسته:
🔥
PREEMPTIVE_OS_CRYPTOPSاینجا بود که قضیه جالب شد.
نسخه SQL Server هم 2025 بود.
(البته قبلاً نصب شده بود؛ خودم شخصاً با نصب آخرین نسخهها در محیط عملیاتی خیلی موافق نیستم 😁)
یک بررسی کردم و مشخص شد در SQL Server 2025، برای SQL Authentication تغییراتی در مکانیزم رمزنگاری Credentialها ایجاد شده که در بعضی شرایط و مخصوصاً زمان Load بالا، میتونه فشار قابلتوجهی روی CPU ایجاد کنه.
یعنی ما داشتیم دنبال Index و Query میگشتیم...
مجرم داشت رمزنگاری میکرد! 😂
با فعال کردن Trace Flag مربوطه، رفتار رو به مدل SQL Server 2022 برگردوندیم و بعد هم باید Passwordها Reset میشدن تا Credentialها با مدل جدید/مناسب ذخیره بشن.
نتیجه؟
اینکه CPU تا قبلش داشت برای خودش زندگی میکرد:
📈 ۹۰٪... ۹۵٪... ۱۰۰٪...
بعد از تغییرات:
زیر ۵٪! 😐😂
یعنی تمام اون کندی وحشتناک، نه از Index بود، نه از Query، نه از کمبود CPU...
بندهخدا داشت Password رمزنگاری میکرد! 😂
و اما درس این داستان:
سر جدتون فقط چون یک نسخه جدید اومده، سریع نبریدش Production! 😂
اول ببینید نسخه جدید چه تغییراتی کرده، چه Known Issueهایی داره، چه رفتارهایی عوض شده.
بذارید حداقل چند تا Cumulative Update و Patch ازش رد بشه، چند ماه توی دنیای واقعی خودش رو نشون بده، بعد برید سراغ Production.
اینکه شما اولین نفر باشید که SQL Server 2025 رو توی Production نصب کرده، لزوماً یعنی:
«چقدر خفنیم» نیست! 😁
گاهی یعنی:
«تبریک میگم، شما اولین نفری هستی که قراره این Bug رو پیدا کنی!» 😂😂
راستی شما هم تجربهای از این مدل مشکلهای عجیب بعد از Upgrade داشتید؟
#SQLServer #DBA #SQLServer2025 #PerformanceTuning #Monitoring #WaitStats #Database #Performance
👍32❤2👏1