首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GetDirectories时的性能变化

使用GetDirectories时的性能变化
EN

Stack Overflow用户
提问于 2010-09-02 00:53:26
回答 1查看 241关注 0票数 4

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

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

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

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

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

我希望对可能发生的事情有一些想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-16 00:47:25

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3620359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档