【发布时间】:2014-09-12 02:49:31
【问题描述】:
我需要测试我的网站是否可以同时处理 100 个或更多用户,是否可以通过 casperjs 来完成?如果是,我该怎么做?
【问题讨论】:
标签: testing casperjs automated-tests
我需要测试我的网站是否可以同时处理 100 个或更多用户,是否可以通过 casperjs 来完成?如果是,我该怎么做?
【问题讨论】:
标签: testing casperjs automated-tests
不,不是。
CasperJS 在 PhantomJS(或 SlimerJS)上运行。所以每个 CasperJS 脚本只能有一个会话。如果您的站点不需要会话(即没有登录),您可以使用多个 casper 实例,但由于 PhantomJS 是单线程的,因此不会获得太多并发。
您需要使用相同的脚本启动 100 个 CasperJS 进程来模拟这么多用户,但随后您会遇到硬件问题。假设一个 CasperJS 进程占用 50 MB RAM。您的机器至少需要 5 GB 内存。然后是上下文切换,因为进程太多,不会使其非常并发。
你需要一个机器集群,每台机器最多有 16 个 CasperJS 进程。然后,您需要将它们全部同步(即使用 webserver module)。
【讨论】: