我听说轮询服务器并不是最好的主意。
假设我制作了一个客户端-服务器应用程序。以一个简单的游戏为例。每个客户端每半分钟轮询一次服务器。在 wamp 服务器超载之前可以拥有多少个客户端?基本上 Apache 对这类东西有多健壮?获取请求,从 mysql 服务器聚合数据,然后以 xml 格式返回数据。
这是一个非常开放式的问题。这完全取决于您的配置,您运行了多少 apache 服务,您有多少物理服务器,您的 mysql 服务器设置如何(是否在它自己的机器上)?您还需要记住,通过轮询服务器,您必须每次都启动连接并为该通信分配资源(在较低级别的网络和您的程序中)。
如果可能的话,服务器将内容推送到客户端可能会更好(假设推送发生的频率低于轮询发生的频率)。
真的不能给你数字。这取决于一系列因素(包括硬件)。
对您来说更重要的是:您可以支持多少并发用户或结果的实时性如何?
如果您正在寻找实时结果,您可能想要调查Comet或long polling之类的东西。
如果您希望支持大量用户,那么长轮询方法可能并不理想,您可能需要比 Apache 更轻量级的东西。就个人而言,我是nginx的粉丝。
编辑:如果你感觉很时髦,你最好的实时结果是Web Sockets,但如果你是微软的人,这对你没有多大好处,因为 IE 不支持它们。
我的猜测是,在 Apache 服务器成为问题之前,您将最大化处理请求和 mysql 数据库的任何内容。
但是,如果有适当的缓存,以及足够智能的架构和实用的设计,并且有效地只有 30 秒的轮询,您应该能够支持 1000 个用户。
但是:模拟它,快速而肮脏,粗略地做你认为你会做的事情,然后用 JMeter(或类似的)用 3、10、30、100、300、1000、3000,......直到你找到表演墙。
我对聚合数据部分感到害怕......如果真的需要聚合,请仔细构建它,这样你就不需要去数据库了,因为这会在生产中杀死你,而你在开发中找不到它。