【发布时间】:2011-09-08 16:49:52
【问题描述】:
专用服务器的详细信息(网站启动时)如下:
操作系统:Linux CentOS
CPU:Intel® Pentium 4 - 3.0 GHz
内存:2 GB
存储:2 个 120 GB 硬盘
带宽:每月 500 GB
AJAX 聊天是自定义编码的。它通过向数据库发送和接收 Javascript 命令来运行,然后对它们进行评估。
聊天刷新率可能在 250 毫秒左右,但此处的答案可能会改变决定。
【问题讨论】:
-
一根绳子有多长? ;-) 尽管你已经给出了具体细节,但我怀疑任何人都可以为你回答这个问题。您必须对给定的配置进行负载测试。如果您想要估计,您必须展示您的代码(主要是服务器端代码)并给出典型消息和同时连接的客户端数量的概念。但即便如此,估计的误差范围也会很大,几乎毫无意义。
-
为什么不使用 node.js 而不是在整个聊天过程中使用 db?聊天的数量将取决于您的数据库能够处理的读/写数量。 300ish 同时听起来像这样的应用程序的容量(它基于数据库的读/写将成为瓶颈的假设——这意味着硬盘子系统实际上会限制正在发生的事情)。
-
@T.J. Crowder 我还没有真正编写过聊天室的代码,不过我希望能找到提高性能的方法。 @Michael J.V. 感谢您的建议,我可能会尝试您的建议而不是数据库。这个想法能够处理多少额外的容量?
-
我不确定您运行聊天框的原因以及平均有多少用户,但老实说,我认为您的问题可以忽略不计。另一方面,考虑到带宽和易用性,我确实发现 WebSockets 比每秒多次调用 AJAX 更有用。
-
@MichaelJ.V.我不是这个主题的专家并且偶然发现了这个问题,因为我也在实现同样的事情,我使用 SSE(服务器发送的事件)作为聊天应用程序,它似乎工作正常。我正在使用 PHP-MySql。我的服务器有 8Gb 内存和足够好的处理器。我想知道这是否是个好主意?
标签: php javascript mysql ajax chat