回答
對於JSON負載測試, json-simple
爲REST一般可以使用 loadUI - 「用於負載測試的工具衆多協議,如Web服務,REST,AMF,JMS,JDBC以及Web站點。 LoadUI採用高度圖形化界面」
這聽起來像你問兩個獨立的問題:?
- 你有什麼API服務器的性能特性最有用表述爲:有多少併發用戶可以充當之前響應時間超過您的可接受水平?
- 什麼是你的客戶端設備的性能體驗?
我會鼓勵你的兩個問題化整爲零,並獨立進行測試。器件的工作OVE 3G將難以產生足夠的負載來壓力配置良好的網絡服務器,而且在全球範圍內調試數千個負載測試節點通常不具有成本效益。此外,一旦流量到達您的Web服務器,它不應該真正關心它是來自同一個城市,國家或大陸,還是來自移動設備,PC或負載測試服務器。
所以,我會使用任何你喜歡的負載測試工具來測試你的web API的性能。 Apache JMeter是免費的,但有一點學習曲線;但是,它可以從多個雲提供商處獲得,這使您可以從不同的大洲進行測試並運行它們。谷歌「Jmeter雲」瞭解更多細節。
如果性能是一個關鍵問題,那麼您可能希望擁有一個持續測試機制,您可以在這個星期左右的時間內對代碼進行性能測試,並按照優化進行優化 - 通常在項目結束時留下優化相當危險......
接下來的問題是「好的,所以我知道我的API服務器可以提供1000個併發請求,平均響應時間爲012秒(這個時間爲<)」(或其他) - 這是如何轉化爲最終用戶體驗的?
只有當您清楚您的Web服務器不是瓶頸時纔會發生這種情況 - 因爲您在此之外做出的大多數優化性能的決定都非常重要。從邏輯上講,如果您知道您的網絡服務器正在某個級別進行響應,則最終用戶的性能會受到網絡延遲和吞吐量的影響。延遲時間通常通過ping時間的粗略統計來衡量:網絡數據包在客戶端和服務器之間傳輸需要多長時間?如果不重新訪問整個託管策略,就很難或不可能改進ping時間;它取決於光速,您的託管服務器場與客戶端和服務器之間的其他幾十個網段之間的連接。
吞吐量通常是以每秒字節數來衡量的。通常情況下,這是你可以影響 - 正常情況下,例如,通過使你的API更簡潔,採用壓縮等
3G設備通常具有相對較差的網絡時延的特點,但相當不錯的吞吐量。然而,影響延時和吞吐量的許多情況完全不可預測 - 繁忙的地點是一個典型的例子:充滿3G設備的足球場意味着個人用戶通常連接性差。
測試,這是困難的。我將其分解爲3G設備測試,並測試地理變化。爲了測試3G設備的性能特徵,我將在專用測試套件(可能基於JMeter)前使用帶寬限制器模擬網絡條件。
拼圖的最後一部分可能是昂貴的 - 有專門的公司誰可以來自世界各地的測試web性能。他們在世界各地都有節點,他們可以在那裏執行測試腳本;他們經常爲您編寫腳本,併爲您提供一個Web界面來運行和測量測試。我過去使用Keynote,並發現它們非常好。這種測試是昂貴的,所以我只在項目結束時才使用它,一旦我排除了所有其他性能方面的考慮。
- 1. JAutodoc vs Checkstyle:你知道一個測量或檢查質量javadocs的工具嗎?
- 2. 任何人都知道一個好的網絡調試工具?
- 3. 你能推薦一個好的SSH同步工具嗎?
- 4. 性能測試工具
- 5. 你知道一個好的和有效的FFT嗎?
- 6. 你知道C語言的一個好的REGEX庫嗎?
- 7. 你知道一個好的事件管理軟件嗎?
- 8. 你知道一個好的Java RSS/Feed Generator嗎?
- 9. 你知道一個好的F#和C#interop例子嗎?
- 10. 你知道一個bit.ly API PHP腳本的例子嗎?
- 11. 你用什麼工具測試你的公共REST API?
- 12. 你知道一個使用MVVM和工廠的例子嗎?
- 13. 你知道一個jQuery插件,它有類似的功能嗎?
- 14. lsperf,一個logstash性能測試工具outout的說明
- 15. PowerBuilder的API測試工具
- 16. 知道一個好的線性代數.net庫嗎?
- 17. 這是自動GUI性能測試的最佳工具嗎?
- 18. JUnit是編寫性能測試的正確工具嗎?
- 19. 你知道這個算法的好設計模式嗎?
- 20. 你知道任何SQLite可視化開發工具嗎?
- 21. 性能測試工具,可以產生一個圖
- 22. 測試數據庫性能工具?
- 23. 窗口服務性能測試工具
- 24. 網站性能測試工具
- 25. Web服務器性能/測試工具
- 26. 有人知道具有API功能的CMS嗎?
- 27. 測試感知性能
- 28. 是否有一個存儲性能測試結果的「結果服務器」,具有良好的分析工具?
- 29. 你知道一個好的開源版本控制查看器嗎?
- 30. 你知道一個很好的PHP hack來做內聯條件賦值嗎?
你能否提供更多的上下文? 3G - 客戶端還是服務器,還是點對點?哪些地理位置?什麼是API - REST,SOAP,JSON? – 2012-01-30 16:54:55
HTTP restful - JSON – sparkle 2012-01-30 19:01:32