gpt4 book ai didi

asp.net - 使用 GetDirectories 时的性能变化

转载 作者:行者123 更新时间:2023-12-02 13:51:22 26 4
gpt4 key购买 nike

我遇到了一个令我困惑的生产性能问题。我希望有人见过类似的东西或者至少有一些故障排除技术。

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

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

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

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

我很乐意了解可能发生的事情。

最佳答案

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

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

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

关于asp.net - 使用 GetDirectories 时的性能变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3620359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com