2012-09-28 42 views
3

我有一個簡單的Django應用程序設置,我一直在測試Blitz.io。 當我用很多dynos測試時,我可以在http:// X.com 上獲得數以千計的req/s當我切換到https:// X.com時,無論有多少個dynos,我都得到不超過72個req/s。 而在https:// X.herokuapp.com/上,我獲得了更多,但仍然達到了幾百個請求/秒。Heroku根據Blitz.io的瓶頸

這是一個僥倖,不會出現正常使用情況?閃電戰的問題? Heroku問題?資源是否會隨需求擴大?

+0

我看到使用Blitz.io通過HTTPS測試Heroku應用程序(在我的情況下是node.js)非常相似的行爲。我已經請求了此線程底部的Blitz.io的一些說明:http://support.blitz.io/discussions/questions/259-reconciling-differences-with-ssl-timeouts – natevw

回答

1

此答案假定https://X.com使用SSL:endpoint heroku插件來提供自定義證書。

ssl:endpoint插件是使用AWS Elastic Load Balancer實現的。 ELB使用DNS在其節點之間分配負載。根據我的經驗,每個單獨的ELB節點並不特別健壯,從CPU的角度來看,SSL協商/解密並非微不足道。

  1. 與每個請求重新解析主機名來分配負載在所有的ELB IPS,特別是隨着新的響應流量增加補充說:所以,當負載測試是非常重要的。
  2. 非常緩慢地加載負載測試。亞馬遜建議每5分鐘最多增加50%的ELB負荷。

我不是特別驚訝,如果允許一個單一的ELB節點上的併發連接方面HTTP/HTTPS容量之間的差別是巨大的,而如果你是固定一個IP,可以考慮區別嗎正在觀察。

我不知道https://*.herokuapp.com堆棧的詳細信息,但我並不感到驚訝,它可以提供比SSL ssl:端點ELB更多的https流量。