C# 关于asp.net网站初始加载缓慢的GAC查询

C# 关于asp.net网站初始加载缓慢的GAC查询,c#,asp.net,.net,performance,gac,C#,Asp.net,.net,Performance,Gac,我有一个单租户ASP.NET web应用程序,它部署在Windows 2008R2 web服务器上,DB部署在另一台服务器上 我的应用程序使用至少20个第三方DLL,这些DLL的总大小约为150MB。假设我们有20个客户站点在IIS中运行,这20多个DLL在每个IIS进程中加载时会占用大量内存空间。我的问题: 站点加载时间非常慢:新的客户单租户安装需要大约3-5分钟才能加载主页。我假设在内存空间中加载所有这些DLL需要那么多时间 内存占用:我的内存正在被疯狂地耗尽,随着我们的扩展(获得更多的客户

我有一个单租户ASP.NET web应用程序,它部署在Windows 2008R2 web服务器上,DB部署在另一台服务器上

我的应用程序使用至少20个第三方DLL,这些DLL的总大小约为150MB。假设我们有20个客户站点在IIS中运行,这20多个DLL在每个IIS进程中加载时会占用大量内存空间。我的问题:

站点加载时间非常慢:新的客户单租户安装需要大约3-5分钟才能加载主页。我假设在内存空间中加载所有这些DLL需要那么多时间

内存占用:我的内存正在被疯狂地耗尽,随着我们的扩展(获得更多的客户安装),宝贵的内存空间将被这些DLL占用。这些第三方DLL在未来不会有太大变化(无升级)

鉴于这些情况,我是否应该继续在GAC中安装这些组件?从我所读到的内容来看,我发现开发人员出于各种原因(我确实理解)建议我反对GAC,但我仍然觉得,在我的条件下,在GAC中安装这些程序集不仅可以显著缩短我的加载时间,还可以节省宝贵的RAM

任何投入都会很好


请注意,我已经使用ANTS和dotTrace分析了应用程序的性能,没有明显的瓶颈会导致应用程序在第一次点击时加载速度太慢。还要注意,应用程序性能在第一次命中后是可以接受的。它会在3秒钟内加载所有页面,但第一次点击需要3-5分钟。

即使从GAC加载程序集,内存占用也会相同,因为每个应用程序都会在自己的内存空间中加载自己的DLL副本


我建议您在后台对您的站点进行首次点击,同时在前台向客户展示一些重要或有用的信息,这样用户体验在第一次点击时不会受到影响。

即使您从GAC加载程序集,内存占用是相同的,因为每个应用程序将在自己的内存空间中加载自己的DLL副本


我建议您在后台对您的网站进行首次点击,同时在前台向客户展示一些重要或有用的信息,这样用户体验在第一次点击时就不会受到影响。

动态编译的网站预计会先缓慢加载。如果您希望在实例之间共享DLL,可以,将它们命名为强名称并粘贴到gac中。在动态编译的网站上,第一次加载速度较慢。如果您希望在实例之间共享DLL,可以,将它们命名为强名称并粘贴到gac中。在动态编译的网站上,第一次加载速度较慢。如果您希望在实例之间共享DLL,可以,将它们命名为强名称并粘贴到gac中。