.Net程序运行缓慢,直到重命名

时间:2015-10-09 19:21:50

标签: .net windows performance

Windows 2012 R2远程桌面服务器上的VB.net 4.0 32位WinForms应用程序。

我有一些.net程序需要很长时间才能到达特定服务器上的主屏幕(> 45秒)。其他.net程序在同一台服务器上加载速度很快(5秒),它们基本上和慢速程序执行相同的启动例程,但是用于一套软件的不同部分。

我重新编译了其中一个程序并更改了版本号,但它仍然加载缓慢。

如果我将慢速程序复制到同一服务器上的另一个文件夹,那么它很慢。

如果我将慢速程序复制到另一台服务器上的另一个文件夹,则快速。

如果我只是简单地复制并粘贴任何慢速程序,以便他们拥有" - 复制" (或名称的任何不同之处)他们跑得快。

我可以使用任何快速程序并将它们重命名为慢程序名称之一,现在运行速度超慢。

我创建了一个简单的winforms应用程序来显示安装在表单标签上的.net版本。它运行速度超快(1秒),除非我将其重命名为其中一个慢速程序名称(10秒)。

我已经复制了我的公司未编译的其他.net程序,这些程序在该服务器上快速加载,直到我将它们重命名为其中一个慢速程序名称,然后加载速度超慢。

我复制了记事本(非.net程序)和mui文件,并重命名它们以匹配慢速程序的名称。它开得很快。

应用程序未签名,我卸载了软件使用的所有.net应用程序/ dll,因此没有任何内容列在本机应用程序缓存中。 显然重新启动了所有服务器,卡巴斯基反病毒和防火墙都关闭了。 Windows防火墙已关闭,没有其他防病毒程序在运行。服务器上未安装其他非Microsoft程序。 我后来ngen安装了应用程序,但仍然没有区别。

服务器的cpu / network / disk根本没有压力,基本上都是扁平的。平均磁盘读/写速度从未达到3ms以上。

我使用procmon来比较运行缓慢的文件的输出,而不是重命名的快速运行的程序。并排它们在启动时基本上以相同的方式流动。慢的一个是查看HKLM \ System \ CurrentControlSet \ Control \ Nls \ ExtendedLocale周围的注册表然后没有活动5秒以上,然后在HKLM \ Software \ Wow6432Node \ Microsoft \ Windows \ Windows错误报告\ WMR周围的注册表中查找并继续。快速版本的确相同,相差几毫秒。

服务器的区域设置为英语(美国),与正常情况无任何变化。时区和时区设置正确。

0 个答案:

没有答案