根据Blitz.io,Heroku SSL上存在瓶颈
我有一个简单的Django应用程序,我一直在用Blitz.io进行测试。 当我使用许多dynos进行测试时,我可以在http://X.com上获得数千个req/s 当我切换到https://X.com时,无论有多少dyno,我得到的req/s都不超过72。 在https://X.herokuapp.com/上,我得到了更多,但它仍然以几百个请求/秒的速度出现根据Blitz.io,Heroku SSL上存在瓶颈,heroku,Heroku,我有一个简单的Django应用程序,我一直在用Blitz.io进行测试。 当我使用许多dynos进行测试时,我可以在http://X.com上获得数千个req/s 当我切换到https://X.com时,无论有多少dyno,我得到的req/s都不超过72。 在https://X.herokuapp.com/上,我得到了更多,但它仍然以几百个请求/秒的速度出现 这是正常用例中不会出现的侥幸行为吗?闪电战问题?赫罗库问题?资源是否会随着需求而增加?这个答案假设使用SSL:endpoint herok
这是正常用例中不会出现的侥幸行为吗?闪电战问题?赫罗库问题?资源是否会随着需求而增加?这个答案假设使用SSL:endpoint heroku插件来提供定制证书。 ssl:endpoint插件是使用AWS弹性负载平衡器实现的。ELB使用DNS在其节点之间分配负载。根据我的经验,每个单独的ELB节点都不是特别强壮,从CPU的角度来看,SSL协商/解密是非常重要的。因此,在进行负载测试时,重要的是:
我不知道https://*.herokuapp.com堆栈的详细信息,但我一点也不奇怪它能比冷ssl:endpoint ELB提供更多的https流量。我们在blitz.io和loader.io上遇到了非常类似的问题。有关更多详细信息,请参阅我们的博客文章。很可能是blitz.io导致了您的SSL问题。我们发现它可以很好地处理负载
如果成本是一个问题,您可能还想尝试开放源代码工具,如或。我看到在HTTPS上使用Blitz.io测试Heroku应用程序(在我的例子中是node.js)时出现了非常类似的行为。我已经要求Blitz.io在这篇文章的底部做出一些澄清: