2016-07-22 45 views
1

我想知道如何測試一個具有多達100萬活躍用戶的Web服務,它們都同時訪問該站點。如何測試多達100萬用戶的Web服務?

這是在理論上 - 我沒有這樣的網絡服務,但最近reading this article on how to build a scalable app for > 500K users,它讓我想知道人們會如何測試?

爲了討論的緣故,我們假設我完全控制了服務,並且已經創建了100萬個測試帳戶,用戶名爲test1 - >test1000000。我更希望這些帳戶能夠訪問世界各地的我的服務,但歡迎任何建議!

編輯:我熟悉JMeter和Selenium,但擔心客戶端活動如果全部從單個位置運行將會受到本地網絡的瓶頸,因此不是一個很好的測試?因此,我不認爲在運行100K客戶端的不同地點說10個JMeter客戶端,而是想讓1000個JMeter客戶端每個測試1000個用戶(全部來自不同地點)可能更好......但也許這不是一個問題?

+1

http://locust.io/ http://jmeter.apache.org/usermanual/remote-test.html – dm03514

回答

1

我覺得在一個較高的水平,有可能是分佈在世界各地的測試節點。每個將包含驗證和執行某種類型的事務的邏輯。測試賬戶塊可以分配給每個節點,每個節點將並行啓動測試。

在實際操作水平我會通過尋找一個框架locust.io聲稱它這樣做在它的標記線:)

http://locust.io/

1

您可以使用apache jmeter或我個人的偏好開始siege

在圍攻的情況下,我會考慮生成一個具有百萬個URL的urls.txt文件,每個代表一個來自用戶的調用並同時運行它們。

至於你提到的位置 Blazemeter關注具有地理分佈的壓力測試過於

0

雖然你不能在這些網站做多步自動化,下面的服務一定會讓你打從不同的客戶端的位置(例如亞洲,北美,澳大利亞)的URL,以及油門帶寬,如果你喜歡的測試目的:

WebPageTest - https://www.webpagetest.org/ - 從他們對頁:「WebPagetest是主要被開發和支持谷歌爲我們的努力,讓您更快速的一部分的一個開源項目。」這個網站也有一個API,是開源的,並允許你通過節點​​api和cli自動化它。

Pingdom的 https://tools.pingdom.com/

this blogpost from KeyCDN

更多信息