4

我有一个生产性能问题,我很难过。我希望有人见过类似的东西,或者至少有一些故障排除技术。

我支持从共享网络驱动器检索文件的继承 asp.net Web 应用程序。我选择进行故障排除的一个特定文件夹 [我们称之为 FOLDERA] 包含大约 300mb 的文件和多个子文件夹。对于此应用程序,FOLDERA 被认为很大。从最近开始,用户在生产网络共享上从 FOLDERA 检索文件时性能一直很慢。我将代码缩小到 asp.net 应用程序中的 GetDirectories 方法。

RootDir.GetDirectories("*", SearchOption.AllDirectories);

在生产中,FOLDERA 读取大约需要 8-10 秒。在最近的性能下降之前,它大约是 1 秒。在测试环境中,相同数量的数据需要 1-2 秒。

我的理论是网络问题,因为用户注意到问题的同一个周末是同一个周末网络和硬件升级发生。但是,我不知道如何确定或向网络工程师证明这一点。

我会很感激关于可能发生的事情的想法。

4

1 回答 1

0

我在大型共享目录上使用了相同的方法来提取和索引数千个 pdf 文件(~80000,大小无关紧要),没有性能问题(1-2 秒)

您可以尝试使用外部程序从开发和生产环境之间的文件共享中对 IO 进行基准测试,以证明您的理论,消除任何软件缺陷并将问题传递给基础架构人员。

另一方面,您可以使用服务器端的 CacheDependency 轻松缓存此信息,具体取决于应用程序架构。如果这是核心功能,这将大大优化性能。

于 2010-09-15T16:47:25.357 回答