CasperJS是無頭的,例如它不需要X運行來運行。任何裸露的Linux發行版都會對你有所幫助。
CasperJS的任何推薦的低腳本UNIX/Linux發行版?
Arch非常輕巧,並且易於遵循Beginners Guide。 Arch的AUR有package for CasperJS也是pretty straightforward to setup。只需確保在從AUR安裝之前抓取所需的基礎開發包(pacman -S base-devel
),因爲它需要Arch Build System。
關於剝離主流(CentOS,Debian,...)分發的任何具體建議?
沒有太多剝離,但CrunchBang是基於最新的Debian版本。這可能值得一看。與Arch相比,設置麻煩要少得多,並且使用與Debian/Ubuntu相同的APT軟件包管理器。它與輕量級的OpenBox窗口管理器一起安裝,但是如果你願意的話,你可以把它和X一起移除。因此,即使輕量級的Linux環境也不會對每個CasperJS實例將使用的內存量有很大的幫助。根據可用內存的數量,您可能會抽出幾十個,但有幾百個可能不太可行。這完全取決於每個網站使用多少內存。 Casperjs自帶some configuration options可能有助於減少內存(例如不加載圖像,插件等),但這可能會影響測試的目的。
我可以給的最好的建議是自己嘗試一下。編寫一個簡單的腳本,將打開您要使用的頁面,並將回調函數傳遞給CasperJS's 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\"}'"
從這裏你應該能夠看到每個實例需要大概多少內存,以及一次可以在一臺機器上運行多少內存。