我有一個簡單的Django應用程序設置,我一直在測試Blitz.io。 當我用很多dynos測試時,我可以在http:// X.com 上獲得數以千計的req/s當我切換到https:// X.com時,無論有多少個dynos,我都得到不超過72個req/s。 而在https:// X.herokuapp.com/上,我獲得了更多,但仍然達到了幾百個請求/秒。Heroku根據Blitz.io的瓶頸
這是一個僥倖,不會出現正常使用情況?閃電戰的問題? Heroku問題?資源是否會隨需求擴大?
我有一個簡單的Django應用程序設置,我一直在測試Blitz.io。 當我用很多dynos測試時,我可以在http:// X.com 上獲得數以千計的req/s當我切換到https:// X.com時,無論有多少個dynos,我都得到不超過72個req/s。 而在https:// X.herokuapp.com/上,我獲得了更多,但仍然達到了幾百個請求/秒。Heroku根據Blitz.io的瓶頸
這是一個僥倖,不會出現正常使用情況?閃電戰的問題? Heroku問題?資源是否會隨需求擴大?
此答案假定https://X.com使用SSL:endpoint heroku插件來提供自定義證書。
ssl:endpoint插件是使用AWS Elastic Load Balancer實現的。 ELB使用DNS在其節點之間分配負載。根據我的經驗,每個單獨的ELB節點並不特別健壯,從CPU的角度來看,SSL協商/解密並非微不足道。
我不是特別驚訝,如果允許一個單一的ELB節點上的併發連接方面HTTP/HTTPS容量之間的差別是巨大的,而如果你是固定一個IP,可以考慮區別嗎正在觀察。
我不知道https://*.herokuapp.com堆棧的詳細信息,但我並不感到驚訝,它可以提供比SSL ssl:端點ELB更多的https流量。
我們有一個非常類似的問題blitz.io和loader.io。有關更多詳細信息,請參閱我們的博客文章http://making.fiftythree.com/load-testing-an-unexpected-journey/。 blitz.io很可能是您使用SSL的問題的原因。我們發現BlazeMeter可以很好地處理負載。
我看到使用Blitz.io通過HTTPS測試Heroku應用程序(在我的情況下是node.js)非常相似的行爲。我已經請求了此線程底部的Blitz.io的一些說明:http://support.blitz.io/discussions/questions/259-reconciling-differences-with-ssl-timeouts – natevw