我們正在研究使用CouchDB的和PouchDB棧,我們想強調的測試CouchDB的爲我們的用例中的一個可以有多達70-80的用戶在同一時間複製。如何進行壓力測試PouchDB
我們設法壓力測試的CouchDB和滿意的結果,但是我們想從PouchDB做一些終端到終端的壓力測試。
我已經嘗試了幾件事情:
1)使用使用PhantomJS腳本某種並行功能的Github上 3發現PhantomJS腳本,推出許多網頁在一個for循環 2))使用bash腳本和&來啓動多個幻影js 4)使用bash腳本和GNU並行來啓動PhantomJS的多個實例 *以上所有測試都使用waitFor函數來僅當全局變量被設置爲true(唯一的我可以想到的方式將等待頁面中的所有JS被執行)
雖然一個phantomJS執行需要大約200-300ms,但當運行多個時,它們似乎會以某種方式進行排隊,並且我們在大約30次執行中的最後一次從200ms到30,000ms得到數字。
貌似PhantomJS莫名其妙排隊本身。正如我可以看到每個後續請求的n * 200ms穩定進展。
我大概可以建立在2-3的設備和迴路PUT和複製演示應用程序,但我想嘗試這個腳本在攻城可以強調與多個資產測試頁面以類似的方式。只有,我希望它能夠「等待」,直到頁面完成並且所有JS已經完成運行。
關於如何做到這一點的任何想法?
感謝您的幫助Nolan! :)你對PhantomJS是對的,我忘記了這種測試。 我們想主要是測試來自PouchDB複製到遠程CouchDB的數據庫,因爲我們使用的情況下,可以在同一時間有多達70個用戶,並在最壞的情況下,他們都複製在同一時間。衝突解決將是有趣的管理;) 我會看看LevelDB和NodeJS,你能指點我很好的教程,因爲我不熟悉LevelDB?謝謝! – Vallieres
沒有問題,就像通常在Node.js腳本中使用PouchDB一樣,但是當你創建它時,將它指向一個空目錄,它會在那裏寫入LevelDB文件:'new PouchDB('/ path/to/DIR')'。 – nlawson