CasperJS 是无头的,例如它不需要运行 X 来运行。任何基本的 Linux 发行版都会对你有好处。
有任何推荐的适用于 CasperJS 的低占用空间 UNIX/Linux 发行版吗?
Arch非常轻量级,并且有一个易于遵循的初学者指南。Arch 的 AUR 有一个用于 CasperJS 的包,它的设置也非常简单。只需确保pacman -S base-devel
在从 AUR 安装之前获取所需的基础开发包 (),因为Arch Build System需要它。
关于剥离主流(CentOS,Debian,...)发行版的任何具体建议?
没有那么多剥离,但CrunchBang是基于最新的 Debian 版本。可能值得一看。设置起来比 Arch 麻烦得多,并且使用与 Debian / Ubuntu 相同的 APT 包管理器。它与轻量级 OpenBox 窗口管理器一起安装,但如果您愿意,可以将它和 X 一起删除。
话虽如此,即使是轻量级的 Linux 环境对每个 CasperJS 实例将使用的内存量也没有多大帮助。根据可用的内存量,您可能会拉出几十个,但几百个可能不可行。这完全取决于每个网站使用多少内存。Casperjs 带有一些可能有助于减少内存的配置选项(例如,不加载图像、插件等),但这可能会破坏您的测试目的。
我能给的最好的建议是自己尝试一下。编写一个简单的脚本来打开您将要使用的页面并将回调传递给CasperJS 的run()
函数以使其保持活动状态(例如,不要从 Casper 退出)。它可以很简单:
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
,或使用此别名来计算当前用户的总内存使用量。
alias memu="ps -u $(whoami) -o pid,rss,command | awk '{print \$0}{sum+=\$2} END {print \"Total\", sum/1024, \"MB\"}'"
从这里您应该能够大致了解每个实例占用多少内存,以及您可以在一台机器上一次运行多少内存。