问题标签 [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 回答
29117 浏览

wcf - Web 服务超时的最佳实践

是否有任何文章/书籍定义了 WS 超时的上限设计限制?你是在服务器超时还是推荐客户端特定的超时?

是否有一个常见的最佳实践,例如“永远不要设计可能需要超过 60 秒的 WS,使用异步令牌模式”

我也有兴趣了解您的工作或您的意见。

0 投票
4 回答
3450 浏览

sql - 数据库分片和分区资源

我正在使用遇到可伸缩性问题的数据库模式。架构中的一个表已增长到大约 1000 万行,我正在探索分片和分区选项,以允许此架构扩展到更大的数据集(例如,10 亿到 1000 亿行)。我们的应用程序还必须可部署到多个数据库产品上,包括但不限于 Oracle、MS SQL Server 和 MySQL。

一般来说,这是一个大问题,我想了解一下可用的选项。数据库分片和分区策略有哪些资源(书籍、白皮书、网站)?

0 投票
4 回答
669 浏览

asp.net - 确保成功的 ASP.NET 应用程序可伸缩性的关键因素是什么?

当启动一个新的 ASP.NET 应用程序时,知道在未来的某个时候它必须扩展,最重要的设计决策是什么,可以在不进行大规模重构的情况下实现未来的可扩展性?

0 投票
4 回答
190 浏览

sql-server - 如果有人问你一个系统是否可以维持双倍增长,你会回答哪三件事?

假设在你的工作中你的老板说,

那边的那个系统,它已经失去了所有的机构知识,但现在似乎运行得很好,我们能把双倍的数据转储到里面并生存下来吗?

你完全不熟悉这个系统。

它位于 SQL Server 2000(主要是数据库应用程序)中。

没有测试环境。

如果您需要运行基准测试,您也许可以在周末劫持它。

你会做三件事来说服自己和你的经理你可以承担额外的负担。如果你不能做到这一点,在相同的硬件上......额外的硬件(以美元衡量)将需要满足该要求。

为了解决来自 doofledorfer 的响应,您的假设几乎都偏离了 180 度。但对于一个模棱两可的问题,这是我的错。

  1. 其中一台主要服务器以 70% 的基础运行 7x24,并且从那里开始飙升,没有人知道它在做什么。

  2. 这不是买进或抱怨的问题……我们公司在这件事上可能没有太多选择。

  3. 由于这是外部强制执行的,因此延迟实施可能会导致巨额罚款。如此大的会议来评估风险几乎是不可能的。存在一个风险,即转储双倍数据会使现有客户的系统停机。

我希望有人会说类似的话,看看你是否在周日晚上的午夜让系统脱机并运行 SQLIO 测试,看看存储子系统有多接近饱和。像这样的东西。

0 投票
2 回答
1519 浏览

linux - 在 Linux 中使用调制解调器库的 PPP 请求拨号

我有一个带有一组调制解调器的 linux 机器,需要创建到一组非常大的远程机器的按需拨号(出站)PPP 连接。由于我的遥控器比本地调制解调器多得多,因此我想启动一个或多个pppdindemand模式实例,但在请求连接之前不要分配特定的调制解调器。当连接空闲时,我想pppd释放调制解调器,以便它可以用于连接到不同的遥控器。

我已经浏览了这些pppd man页面并了解了callconnect选项的概念,以及options.DEVICE文件和/etc/ppp/peers目录。锁定文件会告诉我哪些调制解调器正在使用或可用。只要我对调制解调器分配进行硬编码,我就可以连接到多个远程对等点。但是我还没有找到一种动态分配它们的方法,比如在需要拨号get_available_modem时调用脚本。pppd谷歌似乎也不知道。

一种解决方法可能是检测是否需要使用外部机制进行请求拨号,然后启动pppd以对其进行服务,但在其内部利用该设施似乎更清洁pppd

任何指针或想法表示赞赏。谢谢你的想法!

0 投票
3 回答
2551 浏览

mysql - 如何在 MySQL 表上拆分数据

我有一个网站,其中的成员互相发送消息。会有一些成员,他们喜欢发送消息 - 我相信你可以看到这是怎么回事。

目前我已经说过消息存储在一个很好的关系表中,巧妙地命名为“消息”,具有不同的状态 ID 来表示,呃,状态(未读,已保存等)。我知道这是事后的事,但我认为我真的需要将此表拆分为其他几个表(例如,每种状态类型不止一个)而且我不确定最好的方法是什么关于它。

我有几个想法,但都不是火箭科学,但我很好奇这是否有“标准解决方案”。谷歌不建议这样做,但我想这些问题在像 stackoverflow 这样的地方之外并不常见。

有人已经做过了吗?

0 投票
11 回答
7741 浏览

database - MySQL的替代品

我想为我的应用程序持久存储数据,但我并不真正需要一个完整的关系数据库。我真的可以使用基本的“缓存”式持久存储,其中结构只是一个(键,值)对。

代替数据库,我最好的、可扩展的选项是什么?

0 投票
4 回答
1188 浏览

sql - 带有图像字段的图片项目的单独表格

我将不同的项目(笔记、文章、图片、文件)存储在一个表中(所有项目类型都有许多共同的元数据 - 例如,类别、标签、评级、统计信息等)。

我的第一个设计是这样的:表Items,加上每个项目类型(NoteItemsArticleItemsPictureItems等)的另一个“详细”表。要检索单个项目,表必须一对一连接(SELECT * FROM Items INNER JOIN PictureItems ON Items.Id = PictureItems.Id WHERE Items.Id = N)。

我很确定这种“按部就班”的设计会很好地工作(多次这样做),但是,我开始怀疑这种设计是否是矫枉过正。拥有一个表(Items)会简单得多。

假设有大约 5% 的图片或文件类型的项目。

现在,问题是:如果我选择(几乎)单表设计,那么无论如何都有图像字段的详细表会更好(当然,对于图片和文件项)?

场景一:只有一张表:Items(用于存放笔记、文章、图片、文件...)

场景二:两张表:Items(用于存储笔记、文章、图片文件)、ImageItems(仅用于存储item类型图片、文件的图片字段);一对一的关系

(场景 3 是场景 2 的一个小变体;有 3 个表(项目、图片项目、文件项目))

方案 1 的优点是:

  • 更简单的选择查询(无连接)
  • 无事务更新(INSERT/UPDATE 仅更新一张表)
  • 无事务更新带来的性能、可扩展性?

方案 2 的优点是:

  • 更清洁的设计
  • 较低的数据消耗(在场景 1 中,除了图片或文件之外,大约 95% 的类型项在图像字段中具有 NULL 值,即浪费了大约 16 个字节用于指针)

您会选择哪种方案:1(无事务更新)或 2(更低的数据消耗)?感谢您的意见。

0 投票
4 回答
121 浏览

asp.net - 有没有一种简单的方法可以在数据库行中缩放“视图”或“下载”计数器?

我正在开发一个小型 Web 项目,该项目需要为NumViews数据库表中的每个对象/行保留一个计数器。我担心对行的所有更新都会开始真正降低性能,无论是表的对象数增加还是站点的使用量都会增加。

如果重要的话,我将 .NET 3.5 与 MSSQL 2K5 一起使用。

有什么建议么?

提前致谢!

——乔尔


我们目前对 DB 使用情况的猜测持续达到每秒约 66 次读取。

我喜欢将计数器拆分为单独的表的想法。您是否知道任何支持它的文章或白页,或者它是每个人都会做的事情之一?:-P

此外,在更新时,数据库是锁定整个表还是锁定特定行?我会假设只是一排,但不确定。

谢谢,

--j

0 投票
4 回答
984 浏览

asp.net - 可扩展性案例研究

我开始从网站上构建一个社区网站,我的网络框架将是 Asp.net 和 Mysql。

我想尽早开始规划基础架构的一些可扩展性,因为我预计网站上线时会出现高流量。

是否有任何案例研究可供您推荐阅读,其中 asp.net 或 mysql 已被缩放并展示了良好的缩放技术?