【问题标题】:Web app shuts down while running an intensive task -OpenshiftWeb 应用程序在运行密集任务时关闭 - Openshift
【发布时间】:2016-10-01 21:01:36
【问题描述】:

我有一个与此相关的问题:Web app shuts down (502 error) while running a intensive task。 这是代码

您可以通过以下方式直接跟踪此应用程序: ssh -t 577d56787628e1406200010c@mainserver-bizcentral.rhcloud.com '尾 /log/*' /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/ruby_compat.rb:25:in select': closed stream (IOError) from /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/ruby_compat.rb:25:inio_select' 来自 /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/packet_stream.rb:75:in available_for_read?' from /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/packet_stream.rb:87:innext_packet' 来自 /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:193:in block in poll_message' from /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:188:inloop' 来自 /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:188:in poll_message' from /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:474:indispatch_incoming_packets' 来自 /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:225:in preprocess' from /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:206:inprocess' 来自 /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:170:in block in loop' from /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:170:inloop' 来自 /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh/connection/session.rb:170:in loop' from /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/ssh_helpers.rb:198:inblock in ssh_ruby' 来自 /var/lib/gems/2.3.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:240:in start' from /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/ssh_helpers.rb:173:inssh_ruby' 来自 /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/commands/tail.rb:40:in tail' from /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/commands/tail.rb:21:inrun' 来自 /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/commands.rb:294:in execute' from /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/commands.rb:285:inblock (3 个级别) in to_commander' 来自 /var/lib/gems/2.3.0/gems/commander-4.2.1/lib/commander/command.rb:180:in call' from /var/lib/gems/2.3.0/gems/commander-4.2.1/lib/commander/command.rb:155:inrun' 来自 /var/lib/gems/2.3.0/gems/commander-4.2.1/lib/commander/runner.rb:421:in run_active_command' from /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/command_runner.rb:72:inrun!' 来自 /var/lib/gems/2.3.0/gems/commander-4.2.1/lib/commander/delegates.rb:8:in run!' from /var/lib/gems/2.3.0/gems/rhc-1.38.7/lib/rhc/cli.rb:37:instart' 来自 /var/lib/gems/2.3.0/gems/rhc-1.38.7/bin/rhc:20:in <top (required)>' from /usr/local/bin/rhc:23:inload' 从 /usr/local/bin/rhc:23:in `' edwin@edwin-Lenovo-FLEX-3-1130:~$

对此的正确解决方法是什么。如果我在青铜下获得 small.highcpu 升级或 medium cpu,如果确实与内存有关,还会出现此问题吗?

【问题讨论】:

    标签: openshift


    【解决方案1】:

    502 是网关问题。您的一台服务器的响应未到达另一台服务器。这也发生在我身上。

    我的项目是在 Apache 和 Mysql(5.5) 上。发现 mysql 服务器才是真正的问题,因为我的进程列表很大,而且由于表锁定和其他问题,很少有进程被卡住。

    通过指定适当的存储引擎(如 InnoDb)优化我的数据库,并将 mysql 更新为 mariadb。

    通过实现一些缓存(如 memchache)解决了这个问题,这减少了我的数据库服务器上的负载并且响应速度很快。

    尝试重新启动服务器。

    您还可以检查两台服务器的超时,以防出现 504 错误。

    【讨论】:

    • 我正在使用 python 并使用 celery 运行任务。我的大部分任务包括将 pdf 文档转换为图像进行处理。每次我尝试制作超过 30MB 的内容时,该应用程序都会关闭。我实际上预计会超过 5GB。我所有的存储都是 s3,目前实际上运行良好。低于 30MB 的任务运行良好。
    • 检查服务器配置中的超时和脚本的最大执行速度。和最大大小的上传,这不会是一个问题,但仍然是。
    猜你喜欢
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多