1

我听说轮询服务器并不是最好的主意。

假设我制作了一个客户端-服务器应用程序。以一个简单的游戏为例。每个客户端每半分钟轮询一次服务器。在 wamp 服务器超载之前可以拥有多少个客户端?基本上 Apache 对这类东西有多健壮?获取请求,从 mysql 服务器聚合数据,然后以 xml 格式返回数据。

4

3 回答 3

0

这是一个非常开放式的问题。这完全取决于您的配置,您运行了多少 apache 服务,您有多少物理服务器,您的 mysql 服务器设置如何(是否在它自己的机器上)?您还需要记住,通过轮询服务器,您必须每次都启动连接并为该通信分配资源(在较低级别的网络和您的程序中)。

如果可能的话,服务器将内容推送到客户端可能会更好(假设推送发生的频率低于轮询发生的频率)。

于 2010-05-29T00:16:47.597 回答
0

真的不能给你数字。这取决于一系列因素(包括硬件)。

对您来说更重要的是:您可以支持多少并发用户或结果的实时性如何?

如果您正在寻找实时结果,您可能想要调查Cometlong polling之类的东西。

如果您希望支持大量用户,那么长轮询方法可能并不理想,您可能需要比 Apache 更轻量级的东西。就个人而言,我是nginx的粉丝。

编辑:如果你感觉很时髦,你最好的实时结果是Web Sockets,但如果你是微软的人,这对你没有多大好处,因为 IE 不支持它们。

于 2010-05-29T00:18:43.710 回答
0

我的猜测是,在 Apache 服务器成为问题之前,您将最大化处理请求和 mysql 数据库的任何内容。

但是,如果有适当的缓存,以及足够智能的架构和实用的设计,并且有效地只有 30 秒的轮询,您应该能够支持 1000 个用户。

但是:模拟它,快速而肮脏,粗略地做你认为你会做的事情,然后用 JMeter(或类似的)用 3、10、30、100、300、1000、3000,......直到你找到表演墙。

我对聚合数据部分感到害怕......如果真的需要聚合,请仔细构建它,这样你就不需要去数据库了,因为这会在生产中杀死你,而你在开发中找不到它。

于 2010-05-29T00:25:48.687 回答