我今天推出了一款应用。大约10个小时后,一旦有足够的人注册并使用该应用程序,应用程序就停止了。
我有3种类型的错误:
H12:请求超时 R14:超出内存配额 H13:连接无响应关闭
我在过去4小时内有361个内存错误,在过去90分钟内有674个请求超时。
我真的很不确定如何解决服务器端问题。我的Rails JSON Web API现在就在Heroku上。
解决这些问题的最佳方法是什么?
答案 0 :(得分:0)
您有几个选择:
由于您的应用程序内存不足,因此一种策略是运行较少的每个dyno进程。在您的Web服务器配置(Procfile
)中,您如何运行应用程序?单线程?多?如果是多个,请尝试降低该数字。这将使用更少的内存,并使您的流程更稳定。
要处理“无响应连接已关闭”错误,您可能需要添加更多dynos来处理流量增加。发生的事情是您的请求要么花费太长时间才能完成(> 30秒),要么您的应用程序由于其他问题(内存/ CPU /等)而没有完成请求处理。
我的直觉告诉我,通过降低每个dyno的进程并发性,您可能会立即获得解决所有这些问题所需的性能优势。