使用单独的网络服务器进行cronjobs,还有:来自2个不同服务器的MySQL并发连接

时间:2017-05-18 06:03:51

标签: php mysql linux

我开发了一个Web应用程序,它真正受益于以预定方式运行某些PHP脚本的cronjobs。

由于某些脚本应该运行,每次让我们说15秒,我想有一个小服务器实例,只做那些cronjob任务。

这是个好主意吗? MySQL可以处理来自2个不同服务器的并行连接吗?

2 个答案:

答案 0 :(得分:1)

这是一个非常好的主意。

无论连接是本地连接还是远程连接多个服务器,数据库都设计为处理大量同时连接。默认情况下为MySQL can handle 151 connections,但如果需要,您可以将其设置为更高的值(假设服务器可以处理它)。

我总是在与Web服务器不同的服务器上设置我的数据库(即运行PHP的面向公众的服务器)。在我过去曾经做过的大型应用程序中,我们在负载均衡器后面有多个Web服务器,这些服务器都运行到同一个数据库服务器,从未出现任何问题。

拥有专门用于特定任务的单独服务器有很多优点,我可以整晚都在写关于它们的文章,但这里有一些亮点:

  • 单独的服务器允许您针对其需要执行的特定任务(即内存使用,磁盘I / O等)优化每个服务器的资源。
  • 安全,安全,安全!
    • 如果您有执行敏感作业的人员,例如删除帐户,您就不希望他们生活在更容易受到侵害的面向公众的服务器上。
    • 您可以创建一个单独的特权用户,只允许从您的cron服务器进行连接(即,crons需要删除并创建表,但您的Web应用程序只需要CRUD权限)
  • 管理每项任务要容易得多
    • 如果您需要暂停所有cron作业,只需关闭服务器,而不必注释掉每个cron作业。

答案 1 :(得分:0)

是的,分开cron工作是个好主意。

  1. 您可以在小型服务器上运行此crons,只需安装php即可。
  2. Mysql可以处理来自不同主机的多个连接。
  3. 从命令行运行php脚本以加快执行速度。