首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行多个casperjs实例的推荐环境是什么?

运行多个casperjs实例的推荐环境是什么?
EN

Stack Overflow用户
提问于 2013-09-22 22:10:19
回答 1查看 823关注 0票数 1

我对casperjs很陌生,并计划使用它精确地模拟从几十个到数百个并发会话访问专用网络上的私有服务器的任何地方。与典型的HTTP负载生成器(Apache、httperf、.)不同,我的目的是能够以编程方式控制每个会话(增加请求之间的延迟,在每个脚本中内置“智能”),并使每个会话具有不同的源IP地址。

我目前的想法是使用OpenVZ containers (openvz.org)来创建每个运行casperjs的“虚拟”客户端(我所需要的最小功能是在UI上使用以下元素并截图)。希望听到任何做过类似事情的人。

我问题的关键是:“最苗条”的环境会是什么?我想尽可能地删除操作系统,以便能够扩展多个客户端。具体地说:

  • 有推荐的CasperJS低占用UNIX/Linux发行版吗?
  • 任何关于剥离主流的具体建议(CentOS,Debian,.)分发?

先谢谢大家。我期待着听到你对这个具体问题或类似的经验/工具的意见,我正在努力实现.

费尔南多

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-30 14:59:04

CasperJS是无头的,例如它不需要运行X来运行。任何基本的Linux发行版都会对您有好处。

有推荐的CasperJS低占用UNIX/Linux发行版吗?

非常轻量级,并且易于遵循初学者指南。Arch的AUR有一个用于CasperJS的软件包,它也是很简单的设置。只需确保抓取所需的基本开发包(pacman -S base-devel),然后从AUR安装,因为它是拱筑体系所需要的。

任何关于剥离主流的具体建议(CentOS,Debian,.)分发?

CrunchBang是基于最新的Debian发行版的。也许值得一看。与Arch相比,安装的麻烦要小得多,并且使用与Debian / Ubuntu相同的APT包管理器。它安装了轻量级的OpenBox窗口管理器,但是如果您愿意的话,可以将它和X一起删除。

尽管如此,即使是一个轻量级的Linux环境也不会对每个CasperJS实例使用的内存量有多大帮助。根据可用的内存数量,您可能会得到几十个内存,但几百个可能不可行。这完全取决于每个网站使用了多少内存。Casperjs附带的一些配置选项可能有助于减少内存(例如,不要加载映像、插件等),但这可能会违背测试的目的。

我能给出的最好的建议就是自己尝试一下。编写一个简单的脚本,打开将要使用的页面,并将一个回调传递给run()函数,以保持它的活力(例如,不要退出Casper)。它可以简单到:

代码语言:javascript
复制
casper.start('http://example.com/site1', function () {});
casper.thenOpen('http://example.com/site2', function () {});
casper.run(function() { 
    // wait 60 seconds before exit . . . or remove to never exit
    setTimeout(function() { casper.exit(); }, 60000); 
} 

旋转多个实例,并观察您的总内存使用情况。您可以使用cli top,也可以使用这个别名来汇总当前用户的内存使用量。

代码语言:javascript
复制
alias memu="ps -u $(whoami) -o pid,rss,command | awk '{print \$0}{sum+=\$2} END {print \"Total\", sum/1024, \"MB\"}'"

由此,您应该能够大致看到每个实例需要多少内存,以及可以在一台计算机上一次运行多少内存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18949279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档