主要有兩種方法進行性能上的應用程序:
性能測試和系統測試
它們有什麼不同?好吧,這很容易,它基於他們的範圍,性能測試的範圍是有限的,並且是非常不切實際的。示例:測試某些App X上的IncomingMessage處理程序,爲此,您將設置一個測試,以X,Y,Z爲基礎向此處理程序發送meesages。這種方法將幫助您確定問題並衡量應用程序中個別和有限區域的性能。
所以,現在應該把你的問題,所以我該基準測試和性能測試的每一個部件在我的應用程序單獨?是的,如果您認爲組件的行爲非常重要,並且更新版本的更改可能會導致性能損失。但是,如果您希望整體瞭解應用程序,那麼大量組件會相互交互並查看性能如何顯示,然後您需要進行系統測試。
的系統測試將一如既往地試圖複製儘可能靠近任何客戶的生產環境。在這裏,您可以觀察真實世界對應用性能的感受,並採取相應的行動來糾正它。
因此,作爲結論,建立在你的應用系統的測試和測量你說什麼你想衡量。然後強調整個系統,看看它是如何反應的,你會對結果感到驚訝。
最後,性能測試單獨的任何關鍵部件你已經確定或想保持你的應用程序跟蹤。
作爲一般原則,在做性能時,應該始終: 1.-獲取系統的基線上的空閒狀態。 2.-在正常的預期負荷下獲得系統的基線。 3.-在壓力條件下獲得系統的基線。
請記住,正常負載結果應該外推到壓力條件,而一個好的系統將永遠是一個線性伸縮的系統。
希望這會有所幫助。
P.S.測試,環境設置,甚至數據收集應該儘可能完全自動化,這將幫助您在此基礎上運行,並花時間診斷性能問題,而不是設置測試。
我會推薦Apache JMeter http://jmeter.apache.org/作爲一款優秀的Web應用程序壓力測試工具。它很容易使用,也可以擴展。 – Rami
我發現加特林(http://gatling.io)也是一個很好的工具。 – cmd