我们在Web SaaS应用程序中使用EF6.2。我们的数据库按帐户体系结构,这意味着每个客户都可以获得单独的SQL Server数据库。
我们看到的是非常缓慢的初创公司。我们还看到,随着我们添加账号的数量,初创公司的会按比例变慢。
我们目前没有使用任何可能的优化。我们不做ngen,我们不“预编译”视图。但让我困扰的是,我们考虑的不是整体性能,而是每个账户。
这让我相信它与元数据缓存有关,根据这里的文章,元数据缓存是在内存中构建的,并使用从连接字符串派生的哈希进行标记。https://docs.microsoft.com/en-us/ef/ef6/fundamentals/performance/perf-whitepaper
3.4.1元数据缓存算法
1.模型的元数据信息存储在每个EntityConnection的ItemCollection中。·顺便说一句,模型的不同部分有不同的ItemCollection对象。例如,StoreItemCollections包含有关数据库模型的信息;ObjectItemCollection包含有关数据模型的信息;EdmItemCollection包含有关概念模型的信息。
2.如果两个连接使用相同的连接字符串,则它们将共享相同的ItemCollection实例。
寻找任何关于如何将“热身”时间减少到单一事件的建议
编辑:这是基于Model-first EDMX的数据库,无迁移
https://stackoverflow.com/questions/55698502
复制相似问题