結(jié)束語
CPU節(jié)流:下一代
IIS7具有CPU節(jié)流功能,可以防止無規(guī)則的網(wǎng)站占據(jù)太多的CPU. 可惜,IIS7過于孤注一擲,這使得它并沒有想象中的那么有用。
首先,當(dāng)你要給網(wǎng)站進(jìn)行節(jié)流設(shè)置,唯一的有效的節(jié)流方式就是在一段持續(xù)的時間內(nèi),結(jié)束網(wǎng)站的全部進(jìn)程 。你可以設(shè)置CPU的閾值和時間長度,但這意味著這個網(wǎng)站在這段時間內(nèi)完全癱瘓。沒有任何一種方法能讓一個站點(diǎn)在任何時間配置IIS并且只用了處理器X(或所有處理器)90%的CPU。
IIS 7的CPU節(jié)流特點(diǎn)是孤注一擲的:你要么停止進(jìn)程要么不采取任何行動
第二,IIS 7的CPU節(jié)流是和給定的應(yīng)用池綁定的。 如果你每一個網(wǎng)站都有一個單獨(dú)的池,這個不太糟糕,如果以這樣的方式放置CPU核心也可以。(即使是單核,對低CPU的網(wǎng)站來說也行。) 但是如果你有多個網(wǎng)站共享相同的應(yīng)用程序池,一旦其中的一個網(wǎng)站的CPU節(jié)流出現(xiàn)問題,那么全部的網(wǎng)站都會掉線。
為了解決以上所有的問題,IIS 8在CPU節(jié)流工作工程中增加了兩個新的動作:
Throttle和Throttle under load,Throttle控制對于一個給定工作進(jìn)程的CPU,和任何該進(jìn)程產(chǎn)生的子進(jìn)程。Throttle允許網(wǎng)站使用盡可能多的CPU,但是如果這個進(jìn)程和其他進(jìn)程競爭CPU的話,Throttle將會對此進(jìn)程進(jìn)行節(jié)流。
這樣可以實(shí)行節(jié)流并且不會關(guān)閉所有的進(jìn)程,并且在多用戶的環(huán)境中增加了靈活性。你可以并行多個網(wǎng)站,無論有沒有為它們的工作進(jìn)程設(shè)定明確的處理器關(guān)系,不會使它們互相影響。
IIS 8的另一個新功能是應(yīng)用初始化模塊,它允許一個站點(diǎn)接受頁面請求和回應(yīng)友好的訊息,同時網(wǎng)站代碼仍被加速。這個功能可以阻止在重新編輯收藏夾的時候用戶點(diǎn)爆瀏覽器上的刷新按鈕。
SSL改進(jìn)
我一直都不喜歡IIS處理SSL的方式。“笨拙的”“麻煩的”是我用來形容在IIS中添加和管理SSL證書這一整個過程中的兩個最不刻薄的形容詞。幸好,IIS 8 的SSL處理中,具備了三個主要的新改進(jìn)。