我正在使用在 Hyper-V VM 中运行的 Windows Server 2008。系统性能很差。我们很确定这是由于内存不足。我查看了如何确定我的 Windows Server 2003 是否需要更多内存?,而且我很确定看到每秒输入 > 300 页,内存就是问题所在。
但是,我要问一个更广泛的问题。我想将管理层的注意力集中在等待这些页面错误时所浪费的时间上。有没有办法确定等待分页或其他资源所花费的时间?我对交互式用户花费的时间特别感兴趣,但包含非交互式使用的数字也会有所帮助。
澄清一下,所以这似乎不像抱怨:
这个系统太慢了,当一个notepad.exe窗口处于活动状态时,它需要几分钟才能激活已经打开并显示的第二个notepad.exe窗口。那只是激活。表现也不算差。我认为这相当于每天浪费了数十个工时。
我正在寻找一种方法向管理层说明浪费了多少时间。这发生在我们实际上没有十个工时可以浪费的时候。
抱歉,我没有提供更多细节。
此服务器正用于 SharePoint (WSS 3.0) 开发。它运行 IIS 7,每个开发人员至少有一个应用程序池。每个开发人员都有一个或多个 Web 应用程序,每个应用程序都设置在分配给该开发人员凭据的 AppPool 中。我们正在运行 Visual Studio 2008 SP1 和 SQL Server 2008。SQL Server 数据位于与操作系统不同的虚拟磁盘上。
我一次在系统上看到了多达 8 个开发人员。服务器配置了 2GB 的 RAM,由于主机的限制,此时更多的 RAM 并非易事。如果我能提出足够的理由来纠正它,我希望这将得到纠正,形式是:这是浪费了多少时间。
编辑
感谢您的回答和评论。我同意该解决方案 - 将 SharePoint 负载加载到 4-8GB 的服务器上,并将 SQL Server 移动到第二个 2-4GB 的服务器上。
但我的问题更像是:是否有任何性能计数器或工具可以告诉我等待页面读取和写入所花费的时间?有什么可以告诉我等待排队磁盘 I/O 所花费的时间吗?
可以获得诸如“每秒输入的页面数”之类的性能计数器,但很难说该计数器的值是“太多”。如果有“计数器”可以说明由于每秒输入的页面而花费了多少时间,这对我的目的会更好。
甚至无需考虑 SharePoint 2007 的硬件要求,最多可以有 8 个开发人员拥有自己的应用程序池。我假设SQL Server 是另一台 VM,但如果它是同一台 Win2k8 机器,则毫无疑问是什么问题。
用于 VisualStudio 开发的 AppPools(2005-2008 版本)可以很容易地增长到每个 AppPool 150MB-250MB,这取决于许多因素。250mb x 8devs = 2gb 使用。让我们不要忘记操作系统本身需要的内存,可能还有 SQL Server。简而言之:您根本没有足够的 RAM。尽可能多地加载到 RAM 上。如果它至少从后台的角度和可能的前景解决了服务器的大部分“缓慢”,我不会感到惊讶。
仅供参考:Microsoft 建议 SharePoint 2007 应用程序服务器(链接)至少 4GB,但实际上,Microsoft 尽可能多地占用资源。现在在同一个 URL 中,他们提到了独立 SharePoint 服务器的最低 2GB,但如果开发人员直接使用他们自己的 AppPool在该服务器上工作,很明显 IIS 正在耗尽 AppPools/Sites 的所有可用内存。不要使用推荐的最低 RAM。如果可能,请尝试将 RAM 需求增加一倍、三倍、四倍(预算允许)。
编辑:您提到 SQL Server数据位于单独的虚拟磁盘上,但 SQL Server 是否安装在同一 SharePoint 服务器上?SharePoint 服务器上还有多少可用存储空间?这些附加因素很容易消耗服务器资源,不容忽视。
再次编辑:由于您提到(我没有阅读)“由于主机的限制,此时 RAM 并非微不足道”,因此只有一个真正的解决方案:获得一台新的主机。2GB 不足以运行 SharePoint/SQL/IIS/任何时期。抱歉,恕我直言,运行它的机器至少应该有 8GB RAM。
OP编辑后编辑:
我没有遇到您的确切情况,但是 Microsoft TechNet 上有一篇关于监控指标基础的好文章(链接)。我不确定花在等待排队磁盘 I/O 上的时间是否是获得你想要的东西的最佳方式(我假设管理支持)。
Server 2003 上来自 Windows Networking (链接)的一篇文章比我能更好地解释这些计数器。自由贸易协定:
所以我想说这个解释真正解决了您的指标以及对指标对您的实际意义的理解。性能监视器有点棘手,特别是如果您不完全了解计数器在总体方案中的含义。我通常会发现自己阅读有关计数器的内容,因为很容易忘记它们的“真实世界”含义。
听起来您需要开始使用 perfmon。您需要为内存(可用 MBytes(我猜它会接近或为 0)、正在使用的已提交字节数)以及一些磁盘监视器等设置计数器。您的硬盘很可能会不停地将您的页面文件增长到最大大小。但是,我只提供这些建议,以便您自己查看性能。问题的答案就在第一个答案中:记忆。如果您对相关服务器的内存限制为 2GB,那么您需要购买或组装额外的服务器。我不确定您是否拥有另一个许可证,但 2GB 的内存不足以运行 SharePoint,更不用说您运行的大量其他应用程序/环境了。话虽如此,没有什么比一个好的挑战更好的了。:) 祝你好运!
服务器未针对前台任务进行优化,因此在其上的记事本窗口之间切换不是有效的性能指标。您需要启动 Process Explorer 或任务管理器并开始查看其中的一些统计信息,然后可能会执行一些性能计数器并查看它们给您的反馈。还要检查服务器上运行的其他任务(你没有说它的角色是什么,所以不可能更具体)。