CasperJS はヘッドレスです。たとえば、機能するために X を実行する必要はありません。必要最低限の Linux ディストリビューションであればどれでも問題ありません。
CasperJS に推奨されるフットプリントの少ない UNIX/Linux ディストリビューションはありますか?
Archは非常に軽量で、わかりやすい初心者ガイドがあります。Arch の AUR には、CasperJS 用のパッケージがあり、セットアップも非常に簡単です。Arch Build Systempacman -S base-devel
に必要なため、AUR からインストールする前に必要な base-devel パッケージ ( ) を取得してください。
主流 (CentOS、Debian など) のディストリビューションを削除するための具体的な推奨事項はありますか?
余計なものは省きますが、CrunchBangは最新の Debian リリースをベースにしています。一見の価値があるかもしれません。Arch よりセットアップの手間がかからず、Debian / Ubuntu と同じ APT パッケージ マネージャーを使用します。軽量の OpenBox ウィンドウ マネージャーと共にインストールされますが、必要に応じてこれと X を一緒に削除できます。
そうは言っても、軽量の Linux 環境でさえ、各 CasperJS インスタンスが使用するメモリの量はあまり役に立ちません。使用可能なメモリの量に応じて、おそらく数十個を実現できますが、数百個は実行できない場合があります。それはすべて、各 Web サイトが使用するメモリの量によって異なります。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\"}'"
これにより、各インスタンスが使用するメモリの量と、1 台のマシンで一度に実行できるメモリの量を大まかに確認できるはずです。