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