【问题标题】:Website gets slow when cron job is executingcron 作业执行时网站变慢
【发布时间】:2018-10-15 04:07:36
【问题描述】:

我有一个正在运行的网站。我有一个 每 24 小时执行一次的 cron 作业。 cron 作业从数据库表中获取并分析数据。 问题是 在 cron 作业运行期间网站变得非常缓慢。 之后又恢复正常。它提示我在此期间连接太多 我在 mysql 中将允许的最大连接数设置为 500。 我在 mysql 中检查的活动连接数在此期间小于限制。 我找不到任何相关帮助,甚至找不到思考特定方向的线索。
更新: 我注意到一件事。这段时间mysql连接数不断增加。虽然仍然低于最大限制。

【问题讨论】:

    标签: cron slowdown mysqlconnection


    【解决方案1】:

    nice 命令可以改变进程的优先级。您想降低后台进程的优先级,以便在网站繁忙时尽量不执行 execute。例如

    0 3 * * *      nice -n 20 myjob arg arg
    

    每天凌晨 3 点以较低的优先级执行 myjob arg arg

    编辑:虽然,如果工作大部分时间都花在数据库查询上,这不会对其产生太大影响。 MySQL 为 INSERTUPDATE 语句提供了 LOW_PRIORITY 标志,它们将对这些查询执行相同的操作。

    【讨论】:

    • 我不希望它被延迟。 cron 作业需要每 24 小时运行一次。
    • 我的措辞可能有误。它不会被耽搁;它会按时启动,但它的调度会受到影响,因此如果其他更高优先级的进程使 CPU 忙,它就不太可能被切换到。想象一个人在工作中阅读 Reddit;有工作时他们工作,没有工作时他们继续阅读 Reddit。
    • 好的,我知道了。让我试试这个。我会在接下来的 24 小时内更新你。因为它明天将执行 agian
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 2012-03-04
    相关资源
    最近更新 更多