4

我正在运行安装了 SQL Server Express 和 IIS 7 的 Windows 2008 服务器(具有 1GB RAM 的 VPS)。我在上面托管了一个 NopCommerce 1.7 网站,其中包含大约 26 000 种产品的数据库。

现在我是该网站的唯一用户(它正在开发中),我从中得到了相当糟糕的表现。更具体地说,每次我发出请求时,工作进程都会在几秒钟内达到 90-100% 的 CPU 使用率。是我还是对于 1 个用户的 NopCommerce 网站来说很多?任何想法为什么会发生这种情况以及我可以做些什么来纠正它或进一步调查?

PS:工作进程使用 100MB-400MB 的内存(私有工作集),使用这个数据库的 SQL Server,大约 160MB。除了获得更多 RAM 的明显建议之外,您还有什么建议吗?我打算再获得一个 GB,但我担心这不会解决 cpu 使用问题。

4

1 回答 1

5

您已经说过您将获得更多的 RAM,但不要对缺少 RAM 会对 CPU 造成多大影响感到惊讶。如果您的 RAM 由于空间不足而无法有效地保存大型对象(我会说使用 40% 的可用 RAM 合格),那么 CPU 必须更加努力地将内容分页进出虚拟内存。90% 有点过头了,但是根据您提供的服务器规格,这并非不可能。

最可能的问题是您的代码中某处存在漏洞。我的猜测是您有无限循环或直接内存泄漏(在未关闭的请求期间资源打开?)。最好的办法是获取IIS 调试诊断工具,安装它并设置报告以找出服务器上直接发生的情况。

于 2010-10-26T11:31:18.030 回答