📄 محتوای کامل
چرا باید بهینه شود؟
Windows Server ۲۰۱۹ پس از نصب اولیه، سرویسها و ویژگیهای زیادی فعال دارد که در VPS نیاز نیست و مصرف منابع را بالا میبرد:
-
سرویسهای گرافیکی غیرضروری
-
Indexing و Search
-
خدمات Windows Update همیشه فعال
-
Event Logs و Telemetry
با بهینهسازی این موارد، سرور سبکتر، سریعتر و آماده ساخت Template میشود.
مرحله ۱: نصب آخرین آپدیتها
۱. PowerShell را با دسترسی Administrator باز کنید:
# بروزرسانی سیستمInstall-Module PSWindowsUpdate –Force
Import-Module PSWindowsUpdate
Get-WindowsUpdate –AcceptAll –Install –IgnoreReboot
۲. سیستم را ریستارت کنید:
Restart-Computerمرحله ۲: نصب ابزارهای ضروری VMware یا Hyper-V
برای VMware:
-
VMware Tools: افزایش عملکرد شبکه و دیسک، هماهنگی زمان و shutdown امن
# از GUI VMware Tools Installer استفاده کنید
برای Hyper-V:
-
Integration Services نصب باشد (معمولاً در Windows Server ۲۰۱۹ از قبل موجود است)
مرحله ۳: حذف سرویسهای غیرضروری
سرویسهای گرافیکی (GUI) اضافی:
-
اگر از Windows Server Core استفاده نمیکنید، میتوانید بعضی Features غیرضروری حذف شوند:
Stop-Service WSearch
Set-Service WSearch –StartupType Disabled
# غیر فعال کردن SysMain (Superfetch)
Stop-Service SysMain
Set-Service SysMain –StartupType Disabled
سرویسهای Telemetry و Feedback:
# غیر فعال کردن DiagTrack (Data Collection)Stop-Service DiagTrack
Set-Service DiagTrack –StartupType Disabled
# غیر فعال کردن Connected User Experience
Stop-Service “dmwappushservice”
Set-Service “dmwappushservice” –StartupType Disabled
مرحله ۴: بهینهسازی RAM و Page File
۱. تنظیمات Page File بهتر:
# تنظیم Page File اتوماتیکwmic computersystem where name=“%computername%” set AutomaticManagedPagefile=True
۲. غیر فعال کردن Startup غیرضروری:
-
از Task Manager → Startup → Disable نرمافزارهای غیر ضروری
مرحله ۵: بهینهسازی بوت
-
غیر فعال کردن سرویسهای غیرضروری در msconfig (System Configuration) یا PowerShell:
Get-Service | Where-Object {$_.Status -eq “Running”} | Sort-Object Name
# غیرفعال کردن سرویس غیر ضروری
Set-Service “ServiceName” –StartupType Disabled
مرحله ۶: پاکسازی دیسک و لاگها
# پاکسازی Temp و فایلهای غیرضروریRemove-Item –Path “C:WindowsTemp*” –Recurse –Force
Remove-Item –Path “$env:Temp*” –Recurse –Force
# پاکسازی Event Logs
wevtutil el | Foreach-Object {wevtutil cl $_}
مرحله ۷: آماده سازی Template
-
ریست کردن SID و Machine ID قبل از Template شدن VPS (خیلی مهم برای Windows):
cd C:WindowsSystem32Sysprep
sysprep.exe /generalize /oobe /shutdown
-
گزینه Generalize باعث میشود هر VPS که از Template ساخته شود یک SID جدید داشته باشد.
-
بعد از shutdown میتوانید VM را Template کنید.
مرحله ۸: تنظیمات نهایی برای شبکه و Performance
۱. فعال کردن TCP Fast Open و تنظیمات شبکه (در Windows محدودتر است):
-
اطمینان از فعال بودن TCP Chimney Offload:
netsh int tcp set global rss=enabled
netsh int tcp set global netdma=enabled
۲. خاموش کردن Indexing روی دیسکهای دیتا:
# غیر فعال کردن indexing برای درایو D:dismount-diskimage –ImagePath “D:”
جمع بندی
بعد از انجام این مراحل:
-
مصرف RAM کاهش مییابد
-
سرعت بوت و I/O افزایش پیدا میکند
-
سرویسهای غیرضروری حذف شدهاند
-
سرور آماده ساخت Template VPS است
پیشنهاد نگارنوین
برای مدیریت بهتر Windows Server میتوانید از:
-
Windows Admin Center
-
Remote Server Administration Tools (RSAT)
استفاده کنید.
🛠️ ۳. اسکریپت PowerShell برای اتوماسیون بهینه سازی
در فایل Template ویندوز خیلی خوبه یک اسکریپت PowerShell داشته باشی تا همه مراحل بالا را خودکار انجام دهد:
# نگارنوین – اسکریپت بهینه سازی Windows Server ۲۰۱۹ برای VPSWrite-Output “شروع بهینه سازی Windows Server ۲۰۱۹…”
# نصب آپدیتها
Install-Module PSWindowsUpdate –Force
Import-Module PSWindowsUpdate
Get-WindowsUpdate –AcceptAll –Install –IgnoreReboot
# حذف سرویسهای غیرضروری
Write-Output “غیر فعال کردن سرویسهای غیرضروری…”
Stop-Service WSearch –ErrorAction SilentlyContinue
Set-Service WSearch –StartupType Disabled
Stop-Service DiagTrack –ErrorAction SilentlyContinue
Set-Service DiagTrack –StartupType Disabled
# بهینه سازی Page File
Write-Output “تنظیم Page File…”
wmic computersystem where name=“%computername%” set AutomaticManagedPagefile=True
# پاکسازی Temp و لاگها
Write-Output “پاکسازی فایلهای موقت و لاگها…”
Remove-Item –Path “C:WindowsTemp*” –Recurse –Force –ErrorAction SilentlyContinue
Remove-Item –Path “$env:Temp*” –Recurse –Force –ErrorAction SilentlyContinue
wevtutil el | ForEach-Object { wevtutil cl $_ }
Write-Output “بهینه سازی کامل شد. سیستم آماده Sysprep است.”