0

语境

我编写了一个简单的服务,其中包括

  • 一个 Python 脚本
  • 在 Flask 框架中运行
  • 托管在 Heroku - (当前运行 1 个 dyno)

数据传输的机制有些独特

  • 有个东西叫 Heroku 应用程序
  • Heroku 应用程序用于 urllib2.urlopen调用 Google-GTFS api,python 脚本使用 GTFS python 模块解析这些数据
  • 然后python返回( json.dumps) JSON

问题

我在这个服务上运行了一个 blitz.io 测试,有 30 个并发用户,我遇到了一堆超时问题。

heroku 日志显示了一堆这样的错误

2013-10-13T02:30:20.101085+00:00 heroku[router]: at=error 
    code=H19 desc="Backend connection timeout" method=GET path=myapppath myappurl fwd=ipaddress dyno=web.1 connect=5001ms service= status=503 bytes=

问题

我该如何解决?

4

1 回答 1

0

H19 Heroku 错误的文档摘录:

路由器在尝试打开到 Web dyno 的套接字 5 秒后收到连接超时错误。这通常是您的应用程序不堪重负并且无法及时接受新连接的症状。如果您有多个测功机,路由器将在记录 H19 并提供标准错误页面之前重试多个测功机。

你用了多少个测功机?听起来您可能需要更多才能处理 30 个并发用户的负载。

根据您的应用程序,它还可能有助于拥有一个缓存层,以防止您必须为每个请求连接到 GTFS 服务。

于 2013-10-13T18:46:41.960 回答