Windows hizmeti için bir özellik ayarı için Otomatik ve Otomatik (Gecikmeli Başlatma) arasındaki fark nedir? Yani, hizmetimi bir başkası olarak belirleyerek ne kazanırım ya da kaybederim?
Hizmeti Windows Server 2008 x64'te çalıştırma
Windows hizmeti için bir özellik ayarı için Otomatik ve Otomatik (Gecikmeli Başlatma) arasındaki fark nedir? Yani, hizmetimi bir başkası olarak belirleyerek ne kazanırım ya da kaybederim?
Hizmeti Windows Server 2008 x64'te çalıştırma
Yanıtlar:
Olarak gösterilen bir servis Otomatik (Gecikmeli Başlatma) olarak belirlenmiş kısa bir süre sonra tüm başlayacak diğer hizmetler Otomatik başlatıldı. Tecrübelerime göre, bilgisayar önyüklemesinden 1-2 dakika sonra başlatılıyorlar.
Bu ayar, bir makine önyüklendiğinde kaynaklar için "deli saldırının" azaltılmasında en faydalı olanıdır.
Aynı anda 20 servis başlatıldığında, makinenin değerli kaynaklarının (CPU / RAM / Disk / Ağ) dilimleri için rekabet ettiklerinden her birinin daha yavaş başlayacağını unutmayın. Yani, her hizmetin kullanılabilir olması daha uzun sürüyor!
Kritik birkaç hizmetiniz varsa, o zaman bu birkaçını Otomatik olarak ayarlamak ve diğerlerini mümkün olduğu kadar Otomatik olarak ayarlamak isteyebilirsiniz (Gecikmeli Başlatma) . Bu, kritik hizmetlerin biraz daha erken başlamasına (tanımı gereği tamam), kritik hizmetlerin daha fazla kaynağı erken almasını ve daha erken kullanılmasını sağlayacaktır.
HKLM\SYSTEM\CurrentControlSet\Control
. Bu iş parçacığı çalıştığında Gecikmeli Başlatma hizmetleri kullanılır ve SCM yapıldığında SCM olayını bildirir \ BaseNamedObjects \ SC_AutoStartComplete ...
DWORD
için HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
.
Anladığım kadarıyla, hizmeti başlatmadan önce bu sadece bir gecikme.
Windows'un sonraki sürümleri, önyükleme işlemi sırasında birbirlerinin ayaklarının üzerinden geçmediklerinden emin olmak için bunu başlattı (aynı zamanda başlayan bir gazillion işlemine sahip olmak, performans için elverişli değildir).
Bu özelliğin dokümantasyonu, bu şekilde işaretlenen hizmetlerin "önyüklemeden kısa bir süre sonra" başlatılacağını, umarım önyükleme süresi için gereken hizmetlerin bir miktar yerleştiğini belirtir.
İşte bir örnek. MySQL veritabanı servisime bağlı bir SonarQube servisi var. Bu yüzden, makine önyüklendiğinde veritabanını açıp çalıştırmak için MySQL hizmetini otomatik olarak ayarlıyorum. SonarQube hizmetine, bağlı olduğu veritabanı hizmetinin başlatılmasından SONRA başladığından emin olmak için otomatik (gecikmeli) başlatmaya ayarlıyorum.
Bu gibi bir bağımlılığınız varsa, bağımlı hizmetlerin doğru sırada başlatıldığından emin olmak için gecikmeli başlangıcı kullanmak yararlı olabilir.
Bu, WMI servisinin tamamen başlamasına bağlı olarak tamamen başlamasını sağlamak için gecikmeli bir başlangıç yapan SCCM İstemcisi gibi diğer servislerin de tamamen başlamasını sağlamak için bir servisin başlangıcını ertelemek istediğinizde kullanılır. ve koşuyor.
Bu daha çok AD hesaplarıyla başlayan hizmetler için kullanılır. Hizmet, sunucunun DC ile bağlantı kurmak için ağ bağlantısı kurulmadan önce başlamaya çalışıyorsa, başarısız olur ve bazen sistem takılır ve ulaşılamaz duruma gelir.
Gecikme, AD hesabını kullanmak için ağ bağlantısı kurulduğunda hizmetin başlamasını sağlar.