2010-10-26 84 views
3

我正在運行Windows 2008服務器(具有1GB RAM的VPS),安裝了SQL Server Express和IIS 7。在它上面,我將託管一個NopCommerce 1.7網站,其中包含大約26 000種產品的數據庫。w3wp.exe對每個請求都有很高的CPU使用率

現在我是該網站的唯一用戶(它正在開發中),而且我的表現越來越差。更具體地說,每次發出請求時,工作進程都會在幾秒鐘內達到90-100%的CPU使用率。是我還是這對一個用戶NopCommerce網站有很大的幫助?任何想法爲什麼發生這種情況,我可以做些什麼來糾正或進一步調查? PS:工作進程使用100MB-400MB內存(專用工作集)和SQL Server與此數據庫之間的大小約爲160MB。除了那些顯而易見的獲得更多RAM之外,你還有什麼建議嗎?我打算再獲得一個GB,但我擔心這不會解決CPU使用問題。

+5

我並不是想說明顯而易見的內存,但請獲取更多內存。至少還有3GB。可憐的服務器。 – Marko 2010-10-26 11:05:15

+0

現在服務器正在使用1.6 GB的內存(提交)。這意味着磁盤上至少有600MB。我正在考慮獲得1 GB,因爲它應該覆蓋當前的內存要求。爲什麼我會獲得額外的3GB的任何理由?預算不是非常大 – 2010-10-26 11:48:08

+0

對不起,我是新來的sharepoint,我通常附加到這個過程來調試我的門戶,謝謝我有機會閱讀它,並知道它是IIS工作進程。我投票刪除了我的帖子,祝你好運。 – 2010-10-26 12:00:15

回答

4

你已經說過你會得到更多的RAM,但不要驚訝缺乏RAM會影響CPU。如果你的RAM由於空間不足而無法高效地保存大型對象(並且我認爲使用40%的可用RAM有效),那麼CPU必須更加努力地將事物分頁和寫出虛擬內存。 90%對此有點矯枉過正,但是通過服務器規格,你可以做到這一點。

最可能的問題是你的代碼在某處存在漏洞。我的猜測是,你有無限循環或直接內存泄漏(資源在請求中打開,也許沒有關閉?)。您最好的選擇是獲得IIS Debug Diagnostics tool,安裝它並設置報告以直接瞭解服務器上發生了什麼。