问题标签 [high-load]

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 投票
1 回答
369 浏览

redis - 在 Redis 中存储大量类似项目的随机列表

Redis 2.0.3

我需要在 Redis 中存储大量项目。每个项目都是一个短字符串(少于 256 个字符)。

我需要对列表做两个操作:

  • 添加许多(几千到一百万)相同的项目。(一天几次)

  • 从列表中随机删除一项。没有必要有“公平”的随机性。任何“足够好”的方法都可以。(每秒最多数百次)

我没有足够的 RAM 将所有项目一一存储在列表中。

我认为我需要分批存放物品,名称和柜台。(将有多达数千个不同的项目,更多的是数百个。)

但我不确定如何有效地组织这个。

有什么提示吗?

0 投票
2 回答
2003 浏览

logging - Erlang 大容量日志记录

对于我的 erlang 应用程序,我同时使用了 sasl logger 和 log4erl,当发送给它们的事件数量约为每秒 1000 时,两者的性能都很差。log4erl 提供了更好的性能,但一段时间后它的邮箱开始填满,从而开始使 VM 膨胀。

使用 disk_log 会是一个更好的选择(因为它会在每秒负载 1000 个事件的情况下工作吗?)。

我尝试在外壳上使用disk_log ...在示例中,他们首先将要记录的消息转换为二进制(list_to_binary)并使用“blog”函数写入文件。

这样做会帮助我使用高效的大容量记录器吗?

还有一个疑问:: 使用 disk_log:blog 的文本大小只有 84 字节......但是使用 disk_log:log_terms ..大小是 970 字节..为什么会有这么大的差异?

0 投票
4 回答
453 浏览

php - 更好的做法:将负载放在 SQL 或 Web 服务器上?

我是美国一所主要大学的网站管理员。我们的网站上有很多请求,我在过去 7 年左右的时间里建立并负责了这些请求。我一直在我们的网站中构建越来越复杂的功能,我的习惯是尽可能多地将编程负担放在我们的多处理器 Microsoft SQL 服务器上——使用存储过程、视图等,并填充——在 IIS Web 服务器中使用 PHP、ASP 或 Perl 无法完成的工作。两台服务器都是非常强大和有能力的机器。由于我一直在独自做这件事,没有其他人可以集思广益,我很好奇我的方法是否适合我们将来遇到的更高负载情况。

我的问题是:使用嵌套的 SELECT 语句、视图、存储过程和聚合函数将更多的负载负担放在 SQL 服务器上是更好的做法,还是我应该使用服务器端编译来提取多个更简单的查询并通过它们进行处理- PHP 之类的时间脚本?继续坚持还是想出更好的方法?

在进行了一些负载跟踪并了解了我在 SQL 服务器的肩上付出了多少之后,我最近对性能更加感兴趣。Web 服务器和 SQL 服务器全天都快速且响应迅速,几乎不考虑我在它们上面放了多少,但我想做好准备并通过以下方式训练自己并升级我现有的代码优化最佳实践它变得重要的时间。

感谢您的建议和意见。

0 投票
1 回答
881 浏览

architecture - Web 的高负载图像处理架构

我必须实现以下高负载应用程序:

用户通过浏览器将图像发送到网络服务器。服务器应该处理图像并将结果(几个字符串)发送回用户的浏览器。结果应该在 10 秒内出现,并且 Html-UI 在服务器处理时应该是响应式的(非阻塞)。

您如何看待以下架构,技术是否合适且解决方案是否可扩展?

  1. 有几个 Web 服务器 (~2-4) 准备好获取用户图像。
  2. 收到图像后,它被委托给一个处理服务器(本地网络中应该有大约 50 个处理服务器,无法从 Internet 访问)
  3. (a) 如果处理结果通过 ajax 以间隔(1000 毫秒)准备好,则客户端开始轮询 Web 服务器
  4. (b) 客户端具有实现双工浏览器 <-> web-server 通道的 flash/silverlight 组件,以便在结果准备好后立即从服务器接收结果。

其中有一些蒸汽的东西:

  1. 您个人更喜欢互联网环境中的 ajax 轮询方式还是双工通信(使用 flash/silverlight)?或者你会混合它们吗?
  2. web-server 应该如何知道处理结果已经准备好?我想本地互联网中应该有一个快速响应的中介服务,由处理服务器(最多 50 个处理服务器)通知处理结果,并通知网络服务器结果已准备好。
0 投票
3 回答
3351 浏览

google-app-engine - 谷歌应用引擎是高流量聊天网站的好平台吗?

我正在寻找创建一个高流量的聊天网站,可能会在服务器上进行一些图像处理的视频流。

扫描 Channel API (http://code.google.com/appengine/docs/python/channel/overview.html) 让我希望这可以在没有 AJAX 轮询的情况下完成,并且普遍认为 GAE 是非常可扩展的.

我仍然有几个担忧:

1)能否支持数万同时用户实时交互,不卡顿?CPU使用率有上限吗?

2) 我将(可能)在 J2EE 框架之上编写它。GAE 是否保证每个新请求都可以访问全局内存数据存储,只要应用程序在服务器上运行(Java 中的“ServletContext”)并且可能存储千兆字节的数据,该数据存储就可用?有内存上限吗?

3) 完整的 J2SE 和 J2EE 堆栈是否可用?我可以包含任何我想要的库吗?

4)这类问题有比GAE更好的解决方案吗?我一直在考虑租用几台专用服务器,但这将达到数千/月...

提前致谢!

0 投票
0 回答
128 浏览

mysql - 用于保存短寿命数据的 MySQL 表设计

我们的应用程序处理不同类型的数据,其中之一 - 生命周期为 15 分钟的数据。正在获取此数据,将其放入数据库,然后每 15 分钟删除超过 15 分钟的项目。直到我们在 15 分钟内获得约 100k 数据行之前我们没有任何问题,现在删除似乎会阻塞数据库(或仅确切的表,我不确定)一段时间。

在 MySQL 中添加和删除大量数据的正确方法是什么——我们应该使用内存表、单独的数据库快速数据还是其他东西?

0 投票
1 回答
1210 浏览

java - 进程 netbeans.exe (NetBeans 7.0) 消耗大量 CPU 使用率

一天前,我在我的 PC 上安装了 Netbeans 6.8……
我完全卸载了 Netbeans 6.8,然后安装了 NetBeans IDE 7.0(内部版本 201104080000)……

现在,netbeans.exe 进程消耗大量 CPU 使用率,从 30% 到 95% 不等……这仅在打开 Java 项目时发生(仅打开而不是构建/运行)……

最初,当我打开 netbeans 7.0 时,CPU 使用率保持正常(3% 到 7%)......
如果我打开一个 Java 项目或启动一个新的 Java 项目(Java 应用程序、Java Web、Java EE 或 Java ME)...... CPU使用率从 30% 到 95% 随机消耗(由于进程 netbeans.exe
)......

如果我打开一个不同的项目,比如 PHP Web 应用程序,它就不会发生......

为什么会这样?
我应该恢复到 netbeans 6.8 还是安装 netbeans 6.9?

0 投票
1 回答
2087 浏览

ruby-on-rails - Ruby on Rails。高负荷。建筑实践

拜托,你能说一下关于 Ruby on Rails 的高负载或最佳架构实践的最佳书籍或资源吗?以及有关 Web 架构设计最佳实践的书籍。谢谢。

0 投票
1 回答
1650 浏览

java - 需要帮助为 SaaS 聊天设计快速且可扩展的服务器架构

我想开发一个 SaaS 聊天,用户可以将其嵌入到他们的网站上,并且还会有一个桌面聊天客户端。类似于Live Chat的东西。问题是我从未开发过服务器或数据库程序。此外,我是 Java 新手,但在桌面 C# 编程方面有一些经验(开发了一些 gui 应用程序)。事实上,我是一名学生,没有那么多经验。

我正在尝试为我们的服务器设计一个良好的可扩展架构,但经过几天的谷歌搜索和阅读维基百科后,我对如此大量的信息感到不知所措。服务器需要简单,因为它不包含任何演示代码,但它必须非常快,因为如果服务变得流行,我预计会有高流量。目前我已经选择了我将要使用的大部分技术。这是我的服务器架构版本:

我现在的架构

现在最大的问题是如何设计这个包含业务逻辑的“码头”大片。我已经知道我需要使用 MVP 模式。但仍然存在一些主要问题:

  1. 如何正确使用数据库?制作可以将对象加载和保存到数据库的静态DatabaseManager类?或者在类上制作特殊的静态SaveToDbLoadFromDb方法?我认为必须有一个已经开发的框架来处理这些事情(这对于服务器来说一定是非常常见的任务)
  2. 如何设计事件系统?如何正确通知“聊天室”中的所有客户他们有新消息?NewMessage由于大多数客户都在数据库中,而不是在内存中,因此我无法轻松地将所有客户订阅到聊天室的事件。
  3. 如果您发布一些主要类的简化设计,这将有很大帮助MessageUserChat room. 消息从用户发送到聊天室,聊天室是订阅用户的集合。这将是对前两个问题的回答。

如果您向我指出适当的技术或设计模式,那将是非常好的。

0 投票
2 回答
3027 浏览

perl - 如何在 Perl 中实现简单的 WHOIS 代理?

我有几个WHOIS服务器,我想为其设置一个代理。代理应根据查询中的数据将请求转发到适当的服务器。如何解决这个问题?