【发布时间】:2013-06-27 17:33:38
【问题描述】:
我有一个使用 MVC/EF Code First 编程的应用程序。它进行了大量的服务器端处理,并且非常耗费资源。
我知道如何设置负载平衡,但是我想知道扩展 EF 应用程序是否像配置新服务器、部署应用程序和指向数据库集群一样简单 - 或者我会遇到什么问题关于多个 EF 应用程序访问同一个数据库服务器?
我似乎找不到任何建议/指南,我担心我选择了 EF 而不是更简单/更直接的东西,我做出了错误的选择!
【问题讨论】:
-
对于性能:这取决于瓶颈在哪里。如果您有一个运行起来特别昂贵的查询并且需要运行多次,那么将这些执行分散到多个数据库实例中可能是可行的方法。但是,如果您有很多轻量级查询并且大部分时间都花在您的应用程序中,那么数据库集群将无济于事。如果您还没有这样做,请尝试分析您的应用程序并查看您的代码、外部代码和外部资源(数据库、Web 服务调用)花费的时间百分比。
-
但在更基本的层面上,处理 MVC 应用程序的多个实例的复杂性之一是状态管理。例如。如果您在内存中保留有关下一页请求的一些信息,但用户在另一台服务器上得到负载平衡......该服务器如何知道第一台服务器在内存中获得了什么?
-
@te.speot.is - 问题几乎与 I/O 相关......该应用程序只不过是一个 API......我有发送包含大量请求的大型请求的客户端数据和我的应用程序必须在存储到后端数据库之前进行处理/排序/过滤...我需要支持更多的客户端并且只想了解 EF 缩放/我担心当两个前端都需要时会发生什么写入同一张表。
-
最重要的是,理想情况下,我想构建一些“额外”的支持应用程序来连接到同一个数据库......而且,我只是不确定 EF 将如何处理多个应用程序到同一个DB....想知道我是否应该去 Linq,至少我知道事情会如何运作:/
标签: asp.net-mvc entity-framework n-tier-architecture