问题标签 [scalability]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1499 浏览

sql - 低成本扩展:MySQL 和 MS SQL

当您拥有大量数据(和连接/搜索)时,MySQL 与 MS SQL 相比有多便宜?考虑一个像 stackoverflow 这样的网站,已经和被挖掘后充满了问答。

我的 ASP.NET 站点目前在 SQL Server Express 上,所以我不知道从长远来看成本如何比较。虽然经过快速研究,我开始羡慕 MySQL 人员所获得的节省。

0 投票
3 回答
812 浏览

database - 当人们谈论使用“分片”扩展网站时,他们是什么意思?

关于解决大型网站的扩展问题,我曾多次听到“分片”技术。这是什么“碎片”技术,为什么这么好?

0 投票
2 回答
407 浏览

asp-classic - IIS 6.0 中的经典 ASP 无法缩放

IIS 6.0 以串行方式(一次一个)为我的经典 ASP 页面提供服务

仅当 #1 请求结束时,Web 服务器才会处理 #2 请求。

如果 #1 请求需要更长的时间,则 #2 请求将不得不等待 #1 结束才能开始由 IIS 处理。

这是 IIS 中的错误配置吗?

操作系统为Windows Server 2003 Standard Edition (Service Pack 2)

0 投票
8 回答
2526 浏览

language-agnostic - 没有前端的CMS?

在我们正在开发的许多项目中,我们需要在站点的后端具有 CMS 功能。另一方面,我们不想或不能承诺一个完整的前端解决方案。为了更好地解释这一点:

  • JoomlaDotNetNuke等CMS是完整的网站解决方案,它们允许您存储和发布数据。如果您只需要存储数据并以自定义方式检索数据,它们根本不友好。它们不是我们正在寻找的——我认为它们根本不应该被称为 CMS,因为它们更多!

  • Umbraco这样的 CMS看起来不错,但同样,如果您想以自定义方式使用数据,它们根本就不是很通用。Umbraco 为您提供了在运行时访问数据的 API,而我也对具有可扩展性问题的静态发布功能感兴趣。

提供更多指示:

  • 如果它有一个插件系统,它可能不是我要找的......
  • 如果它不能静态和动态发布(想想 XML 文件或 HTML 文件和 API),它可能不是我想要的......
  • 跨数据库会很棒,但不是绝对必要的

CMS 不需要是免费的,但我们必须能够拥有完整的源代码。至于平台,我们主要需要.NET和LAMP的解决方案。

我已经知道CMS Matrix站点,但是它对 CMS 的定义包括太多的网站解决方案,所以我没有足够的信噪比来找到我需要的东西。

编辑:要明确:我不想使用某种框架编写 CMS。我想要一个可以存储具有典型 CMS 功能(所见即所得编辑器、版本控制、工作流等)的异构数据并提供发布此数据的功能的解决方案。

0 投票
7 回答
999 浏览

php - PHP性能考虑?

我正在建立一个PHP网站,但目前PHP我唯一使用的是某些页面上的六个左右。(我最终可能会使用一些数据库查询。)

与 static 相比,简单include()语句是否关注速度或缩放HTML?什么样的事情往往会导致网站陷入困境?

0 投票
1 回答
1118 浏览

java - 我可以使用 Terracotta 来扩展 RAM 密集型应用程序吗?

我正在评估 Terracotta 以帮助我扩展当前受 RAM 限制的应用程序。它是一个协同过滤器,每个用户存储大约 2 KB 的数据。我想使用 Amazon 的 EC2,这意味着我被限制为 14GB 的 RAM,这为我提供了大约 700 万用户的有效每服务器上限。我需要能够超越这个规模。

根据我目前的阅读情况,我认为 Terracotta 的集群堆可以大于每台服务器上的可用 RAM。拥有一个 30GB 或更多的有效集群堆,其中每台服务器仅支持 14GB 是否可行?

每个用户的数据(其中大部分是浮点数组)变化非常频繁,可能每分钟数十万次。没有必要将这些更改中的每一项都在发生时同步到集群中的其他节点。是否可以只定期同步一些对象字段?

0 投票
4 回答
950 浏览

sql-server - 在 MS SQL Server 中管理大量表的最佳方法是什么?

这个问题与另一个问题有关:
拥有多个文件组有助于加快我的数据库吗?

我们正在开发的软件是一个分析工具,它使用 MS SQL Server 2005 来存储关系数据。初始分析可能很慢(因为我们正在处理数百万或数十亿行数据),但快速调用以前的分析有性能要求,因此我们“保存”每个分析的结果。

我们目前的方法是将分析结果保存在一系列“特定于运行”的表中,并且分析非常复杂,以至于每次分析可能会得到多达 100 个表。通常,这些表每次分析使用几百 MB(与我们数百 GB 或有时多个 TB 的源数据相比,这很小)。但总的来说,磁盘空间对我们来说不是问题。每组表都特定于一个分析,在许多情况下,这为我们提供了比引用源数据更大的性能改进。

一旦我们积累了足够多的已保存分析结果,这种方法就开始失效——在我们添加更强大的归档/清理功能之前,我们的测试数据库已攀升至数百万张表。但是,即使在生产中,拥有超过 100,000 张桌子对我们来说也不是一件容易的事。Microsoft 对 sysobjects 的大小(约 20 亿个)设置了一个非常巨大的理论限制,但是一旦我们的数据库增长到超过 100,000 个左右,像 CREATE TABLE 和 DROP TABLE 这样的简单查询就会显着减慢。

我们有一些空间来讨论我们的方法,但我认为如果没有更多上下文,这可能很难做到,所以我想更笼统地问这个问题:如果我们被迫创建这么多表,管理的最佳方法是什么他们?多个文件组?多个模式/所有者?多个数据库?

另一个注意事项:我对“简单地解决问题”(即增加 RAM、CPU 功率、磁盘速度)的想法并不感到兴奋。但我们也不排除它,特别是如果(例如)有人可以明确地告诉我们添加 RAM 或使用多个文件组将对管理大型系统目录产生什么影响。

0 投票
3 回答
3555 浏览

java - 通过 JMS 或 JavaSpaces 分发多阶段任务的优点/缺点是什么?

在尝试分配需要多阶段处理管道的工作时,JMS 与 JavaSpaces 的通信、同步和吞吐量成本限制是什么?

0 投票
8 回答
13478 浏览

database - 极限分片:每个用户一个 SQLite 数据库

我正在开发一个介于电子邮件服务和社交网络之间的网络应用程序。我觉得它有潜力在未来变得非常大,所以我担心可扩展性。

我决定为每个活动用户创建一个单独的 SQLite 数据库,而不是使用一个集中式 MySQL/InnoDB 数据库,然后在那个时候对其进行分区:每个“分片”一个活动用户。

这样备份数据库就像每天一次将每个用户的小型数据库文件复制到远程位置一样简单。

扩大规模就像添加额外的硬盘来存储新文件一样简单。

当应用程序超出单个服务器时,我可以使用 GlusterFS 在文件系统级别将服务器链接在一起并保持不变地运行应用程序,或者安装一个简单的 SQLite 代理系统,允许每个服务器操作相邻服务器中的 sqlite 文件。

并发问题将是最小的,因为每个 HTTP 请求一次只会触及一个或两个数据库文件,在数千个中,而且 SQLite 无论如何只会阻塞读取。

我敢打赌,这种方法将使我的应用程序能够优雅地扩展并支持许多很酷和独特的功能。我赌错了吗?我错过了什么吗?

更新我决定采用一个不太极端的解决方案,到目前为止效果很好。我正在使用固定数量的分片 - 准确地说是 256 个 sqlite 数据库。每个用户都通过一个简单的散列函数分配并绑定到一个随机分片。

我的应用程序的大多数功能只需要每个请求访问一到两个分片,但有一个特别需要对 256 个分片中的 10 到 100 个不同的分片执行简单查询,具体取决于用户。测试表明,如果所有数据都缓存在 RAM 中,大约需要 0.02 秒或更短的时间。我想我可以忍受它!

更新 2.0我将应用程序移植到 MySQL/InnoDB 并且能够获得与常规请求大致相同的性能,但是对于需要分片遍历的请求,innodb 快 4-5 倍。出于这个原因,以及其他原因,我放弃了这个架构,但我希望有人能在某个地方找到它的用途......谢谢。

0 投票
4 回答
1441 浏览

orm - 将 Subsonic 用于可能被大量访问的 ASPNET MVC 应用程序

我即将为一个可能被大量访问的 ASPNET MVC 应用程序启动一个项目,并且我正在考虑将 Subsonic 用于我的 DAL。我对 Subsonic 处理数千个并发请求的能力有些担心。谁能给我一些使用 Subsonic 的流行网站的例子?此外,如果您对除了 NHibernate 之外的 Subsonic 的可能替代品有任何建议,那也很好。谢谢