Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据Blitz.io,Heroku SSL上存在瓶颈_Heroku - Fatal编程技术网

根据Blitz.io,Heroku SSL上存在瓶颈

根据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

我有一个简单的Django应用程序,我一直在用Blitz.io进行测试。 当我使用许多dynos进行测试时,我可以在http://X.com上获得数千个req/s 当我切换到https://X.com时,无论有多少dyno,我得到的req/s都不超过72。 在https://X.herokuapp.com/上,我得到了更多,但它仍然以几百个请求/秒的速度出现


这是正常用例中不会出现的侥幸行为吗?闪电战问题?赫罗库问题?资源是否会随着需求而增加?

这个答案假设使用SSL:endpoint heroku插件来提供定制证书。

ssl:endpoint插件是使用AWS弹性负载平衡器实现的。ELB使用DNS在其节点之间分配负载。根据我的经验,每个单独的ELB节点都不是特别强壮,从CPU的角度来看,SSL协商/解密是非常重要的。因此,在进行负载测试时,重要的是:

  • 使用每个请求重新解析主机名,以便在所有ELB IP之间分配负载,特别是在为响应流量增加而添加新IP时
  • 非常缓慢地进行负载测试。亚马逊建议每5分钟将ELBs上的负载最多增加50%
  • 如果HTTP/HTTPS容量在单个ELB节点上允许的并发连接方面的差异很大,我并不感到特别惊讶,如果您固定在一个IP上,这可能是您观察到的差异的原因


    我不知道https://*.herokuapp.com堆栈的详细信息,但我一点也不奇怪它能比冷ssl:endpoint ELB提供更多的https流量。

    我们在blitz.io和loader.io上遇到了非常类似的问题。有关更多详细信息,请参阅我们的博客文章。很可能是blitz.io导致了您的SSL问题。我们发现它可以很好地处理负载


    如果成本是一个问题,您可能还想尝试开放源代码工具,如或。

    我看到在HTTPS上使用Blitz.io测试Heroku应用程序(在我的例子中是node.js)时出现了非常类似的行为。我已经要求Blitz.io在这篇文章的底部做出一些澄清: