3

因此,我们的托管服务提供商最近将我们的测试服务器从一个环境转移到了另一个虚拟化环境。移动之后,测试环境中的一些东西变得非常缓慢。

例如登录远​​程桌面很慢,不使用远程桌面,只是登录。还有一些通常像风一样运行的asp.net应用程序现在像乌龟一样运行。在对这种减速的原因进行了大量辩论后,我开始调查实际问题。

最后一个有趣的发现是我在测试服务器上安装 dotTrace 时发现的。运行一个我知道性能很差的页面我得到了以下(高级)结果,该线程执行了麻烦页面的工作:

Real/wall time: 45538 ms
Thread time:    375 ms

据我所知,这意味着线程花费了很长时间没有被执行。我自己的宠物理论是,虚拟环境将其他服务器的工作优先于我的服务器。这可能是原因吗?你怎么认为?

注意:如果您需要更多详细信息,例如实际痕迹,如果您提出要求,我可以将它们分发出去。

编辑:更多细节!跟踪中最昂贵的调用是:

1 次调用 KeyInfoX509Data.ctor(X509Certificate, X509IncludeOption):30014 毫秒
1 次调用 SignedXml.ComputeSignature:15045 毫秒

跟踪详细信息

4

2 回答 2

2

对我来说,IO 等待问题的差异尖叫。很可能是磁盘或网络,尽管 CPU 也不会让我感到惊讶。

由于它似乎专门用于读取证书,因此我会调查是否有另一个虚拟机/服务在磁盘或网络上变得贪婪。永久下载大文件或频繁访问的数据库可能是根本原因。

可以肯定的是,您必须查看共享您的硬件的所有 VM 上的相应活动,并可能查看到达您的测试盒以及从您的测试盒到外部的网络跟踪。这可能是只有 ISP 才能做到的事情(因为它本质上是一个跨客户交互问题)。

根据 VM 服务器和硬件,它可能是可调整的设置,也可能不是。如果不是,您可能无能为力。

无论如何,我同意您的理论:这可能不是您的应用程序的问题,而是您的提供商的问题。如果您对 ISP 有任何影响力,我会将其退还给他们,以解决和/或调查不断变化的提供商。破解它的成本可能大大相形见绌,让他们只为您提供一些硬件或与可以为您提供所需服务的提供商合作。

于 2009-12-21T16:45:55.740 回答
0

所以它原来是一个安全/网络/ dns问题。服务器上的 DNS 注册之一不正确。这导致它在尝试查找 AD 服务器时返回了错误的 IP。然后在请求 AD 信息时导致超时,这又导致了一些其他问题。所有这些问题仅在请求某些页面时显示为长时间的停顿。

于 2009-12-23T13:19:16.237 回答