Performansı artırmak için bilgisayarı yeniden başlatmak istiyorsanız, muhtemelen sonunda bellek yönetimi sorunları ile karşılaştığınız anlamına gelir.
Önbellekleme İyi
Bir şey olursa, yeniden başlatma sunucuları daha ideal bir ortamda performansa (ve tabii ki çalışma süresine) zarar verir . Hesaplamada performansın temel ilkelerinden biri önbelleklemeden yararlanmak (hızlı bellekte veri bulunması). Her yeniden başlattığınızda önbelleğinizi patlatırsınız. Bu hem SQL sunucusu hem de IIS için geçerlidir. İdeal ortama sahip olmasanız da, aşağıdakiler, sunucuyu bir zamanlamaya göre yeniden başlatmaktan daha iyi bir seçenek için size yardımcı olacaktır.
IIS Bellek Sızıyor mu?
Şimdi bunun IIS 7.5 olduğunu söylediniz. Her ne kadar iç karartıcı bulsam da, IIS 7.5 üzerinde çalışan pek çok web uygulamasında bellek sızıntıları var, IIS'deki varsayılanlar her X dakikada bir APP'yi yeniden başlatmak ve bir APP havuzu boştaysa kapatmaktır. İdeal olan, bellek sızıntılarını düzeltmektir - ancak yapamıyorsanız bellek limitleri ve zamanlayıcıları içeren bu ayarları yapabilirsiniz . Hangi w3wp işleminin belleği kullandığını anlamak için perfmon kullanabilirsiniz. Biraz acı ama app havuzu ile geri bağlayabilirsiniz %systemroot%\system32\inetsrv\APPCMD list wps
.
SQL Belleği
Önbelleklemeye geri dönersek, SQL hangi belleği alabileceğini alacaktır. Bunu SQL sunucusunun özelliklerinde sınırlandırabilirsiniz. Belleği sınırlamazsanız ve kutuda IIS çalıştırıyorsanız, bunlar bellek öldürme performansı için savaşmaya başlayabilir. Bu mükemmel makale bu konuyu ayrıntılı olarak ele almaktadır: Sysadmin'in Microsoft SQL Belleği Kılavuzu .
Denge
Aynı kutuda hem IIS hem de SQL bulunduğundan, bellek kullanımlarını dengelemeniz gerekir. Bunu yapmazsanız, tekrar diske takas edilmesi muhtemel olan bellek alabilirsiniz - bu korkunç bir yerdir (Takas etkinliği için perfmon sayaçları olmalıdır). IIS Geri Dönüşüm ayarlarını ve SQL Bellek sınırlarını kullanarak, bu sistemi kararlı hale getirebilmeniz gerekir. Bunu dengelemek için 4GB'tan daha fazla belleğe ihtiyacınız olabilir. Ayrıca, bir seçenekse, SQL sunucusunu özel bir makineye koymanızı şiddetle tavsiye ederim - performansı çok daha iyi hale getirecek ve işleri basitleştirecektir.