Tag: 可伸缩性

扩展ASP.NET应用程序

这是一个非常广泛的问题,但希望我能得到有用的提示。 目前我有一个在单个服务器上运行的ASP.NET应用程序。 我现在需要扩展以适应不断增加的客户负载。 所以我的计划是: 1)将ASP.NET和Web组件扩展到五个服务器上。 2)将数据库移动到服务器场。 我不相信我会对数据库有问题,因为就应用程序而言,它只是一个IP地址。 但是,我现在担心ASP.NET和Web层。 我已经担心的一些问题: 最简单的模型是仅实现一个负载均衡器,它会以循环方式将请求分配给五个服务器中的每个服务器吗? HTTPS和SSL连接是否有任何问题,现在每次发出请求时它们都可以在不同的物理服务器上终止? (例如,表现?) 是否有关于通过cookie进行会话维护(登录)的问题? 我的猜测是否定的,但无法解释为什么…… 😉 会话数据本身(存储服务器端)是否有任何问题? 显然,我需要在服务器之间复制会话状态,或以某种方式强制请求只转到单个服务器。 无论哪种方式,我在这里看到一个问题……

DB4O可扩展性

我正在寻找有关DB4O对象数据库的信息。 我知道它有客户端/服务器模式,但我不知道它是多么可扩展。 我是对象数据库想法的大爱好者,但仍无法在我的任何项目中找到合适的OODB。 所以我的问题是: 如果有人在多客户端环境中部署了DB4O,我感兴趣,与RDBMS相比,它的表现如何? 迄今为止任何Web应用程序都是由DB4O提供支持的吗? 我可以使用DB4O替代SQL Server(至少SQL Express)吗? DB4O在实践中可以支持多少并发客户端? DB大小增加时性能会降低吗? 谢谢 PS我对C#版感兴趣。

并行代码可扩展性差

最近我一直在分析我的并行计算如何实际加速16核处理器。 我得出的一般公式 – 你得到的每个核心速度越慢的线程就越让我感到尴尬。 以下是我的CPU负载和处理速度的图表: 因此,您可以看到处理器负载增加,但速度增加得慢得多。 我想知道为什么会发生这样的影响,以及如何得到不可伸缩行为的原因。 我已确保使用服务器GC模式 。 一旦代码不做任何事情,我就确保我正在并行化适当的代码 从RAM加载数据(服务器有96 GB的RAM,不应该触发交​​换文件) 执行不复杂的计算 在RAM中存储数据 我仔细分析了我的应用程序并发现没有瓶颈 – 看起来每个操作随着线程数的增长而变慢。 我被困了,我的情景出了什么问题? 我使用.Net 4任务并行库。