托管的MVC产品 - 几千个站点的最小部署的关键策略

时间:2013-05-07 14:41:09

标签: asp.net-mvc glimpse stimulsoft

我的产品目前拥有72MB的完整部署大小,其中68个MB是我的应用程序的bin文件夹中的DLL。主应用程序DLL本身不到2 MB,因此绝大多数的足迹来自MVC本身,以及我的项目所拥有的一些“插件”(Stimulsoft Reports,Glimpse等)。

此应用程序最终将部署到2000个网站。显然,以这种方式部署的应用程序中存在大量冗余(Bin Deployed - Copy Local True)。如何减少此部署的总体占用空间?

我能找到的所有文档实际上只涉及“单一部署”案例。我无法找到真正解释的任何内容,以节省部署大小,磁盘空间和内存使用量。

我可以使用哪些关键策略将我的应用程序成功部署到数千个占用空间最小的站点?

1 个答案:

答案 0 :(得分:1)

Bin部署,甚至2000次,仍然可能是最好的方法。与构建自定义管理此内容的成本相比,磁盘空间非常便宜。

如果您真的想要,可以通过强烈命名并将它们添加到GAC来减少磁盘上的DLL计数/大小。将程序集放在GAC中确实需要进行许多权衡,例如版本控制和信任级别的潜在问题。

通过将网站分组到相同的应用程序池(共享程序集只加载一次),可以减少Web服务器上的内存消耗 - 但是我再次 。共享应用程序池意味着没有隔离 - 所以如果一个站点出现故障,它们都会发生。

所以说,最好的办法是购买更多的磁盘空间和内存,如果可能的话也不要担心 - 但是你必须确保你理解这些权衡。