我有一个产品性能问题,我被难住了。我希望有人看过类似的东西,或者至少有一些故障排除技术。
我支持从共享网络驱动器检索文件的继承asp.net web应用程序。一个特定的文件夹,我们将它命名为FOLDERA,我选择对其进行故障排除,其中包含大约300mb的文件和多个子文件夹。FOLDERA对于此应用程序来说被认为是大的。从最近开始,从生产网络共享上的FOLDERA检索文件时,用户的性能一直很慢。我将代码范围缩小到asp.net应用程序中的GetDirectories方法。
RootDir.GetDirectories("*", SearchOption.AllDirectories);
在生产中,FOLDERA读取大约需要8-10秒。在最近的性能下降之前,它大约是1秒。在测试环境中,使用相同的数据量需要1-2秒。
我的理论是网络问题,因为用户注意到问题的同一个周末是同一个周末,网络和硬件都发生了升级。但是,我不知道如何确定或向网络工程师证明这一点。
我希望对可能发生的事情有一些想法。
发布于 2010-09-16 00:47:25
我在一个大的共享目录上使用了相同的方法来提取和索引数千个pdf文件(大约80000个,大小无关紧要),没有任何性能问题(1-2秒)
您可以尝试使用外部程序对开发和生产环境之间的文件共享中的IO进行基准测试,以证明您的理论,从而消除任何软件缺陷并将问题传递给基础架构员工。
另一方面,您可以在服务器端使用CacheDependency轻松缓存此信息,具体取决于应用程序架构。如果这是一个核心功能,这将极大地优化性能。
https://stackoverflow.com/questions/3620359
复制相似问题