2011-09-25 43 views
1

我正在积极研究我的硕士论文。这是关于实时Web应用程序。 现在我想比较Node.js和例如长轮询。标杆彗星应用

我知道一些基准测试工具,如ab,autobench等,但这些并不真正测试应用程序。一旦他们向服务器发出请求,就会处理请求并发出新的请求。我需要的是一个基准测试工具,它可以在网页上“停留”更长时间,以便模拟真实的人。

例如:我在Node.js和长轮询(PHP)中都做了一个演示聊天。现在我想用100个同时进行的测试,在聊天中保持约30秒。

有没有人有我的一些建议,我可以达到这个目标?

我提前感谢你!

+0

您无法将软件堆栈(node.js)与技术(长轮询)进行比较。那太傻了!我想你不明白node.js是什么。在PHP中执行长轮询?有史以来最糟糕的想法,PHP不是为了这个,所有的解决方案都是丑陋的黑客。 –

+0

@TobiasP。我认为你误解了我的目标。我完全知道Node.js是什么。我的目标是创建例如一个带有node.js的演示应用程序,以及与PHP(长轮询或短轮询)相同的演示应用程序。然后我想比较两者,看看我想用于我的真实项目的技术。 另外,如果没有PHP,我应该如何实现长轮询呢? – user963397

回答

0

现在我想比较Node.js与例如长轮询。

长轮询本身是一个平台不可知的网络推送技术,因此您可以将在node.js中创建的长轮询应用程序与在PHP中创建的类似应用程序进行比较。

我需要的是一个基准测试工具,它将在更长的时间内'停留'在 的网页上,以便模拟真实的人。

您可以创建这将模拟客户端连接另一台服务器上的应用程序,但是该应用程序不应该在同一个机器的长轮询服务器应用上,以举办有“近实时”客户端和服务器之间的延迟。即使这种方法可能不会给你准确的环境,因为你对“真正的人”客户端会有(因为服务器应用程序模拟客户端连接将在同一个原点,也因为着名的报价“没有像生产测试”),但它可以给你粗略的环境来测试你的长轮询服务器来收集一些基准数据。例如socket.io有this kind of application用于模拟各种浏览器传输。

+0

我想我已经找到了另一个解决方案:硒RC(http://seleniumhq.org/projects/remote-control/)。剩下的唯一问题是,当我想用​​100个客户端进行测试时,selenium会在客户端机器上打开100个浏览器会话。我需要找到一种方法来a)在后台运行它b)在多台机器上传播它。 – user963397