Multithreading 如何并行执行crontab以增加基于mongodb和mysql的web应用程序的用户基础?

Multithreading 如何并行执行crontab以增加基于mongodb和mysql的web应用程序的用户基础?,multithreading,parallel-processing,scalability,crontab,Multithreading,Parallel Processing,Scalability,Crontab,我有一个基于symfony的web应用程序,运行在mongodb和mysql后端。该应用程序的原理是,对于每个用户,都有一个python脚本,每天在cronjobs上运行4-12次,并填充mysql和mongodb数据库。执行脚本需要1.5分钟到2分钟。此时,cronjob按顺序运行。这意味着脚本执行一个作业,并在执行下一个作业之前等待作业结束。当我的web应用程序有一个新用户时,cronjobs将在一段时间内自动创建。一天24小时,我可以运行有限数量的cronjobs,从而限制用户数量(大约2

我有一个基于symfony的web应用程序,运行在mongodb和mysql后端。该应用程序的原理是,对于每个用户,都有一个python脚本,每天在cronjobs上运行4-12次,并填充mysql和mongodb数据库。执行脚本需要1.5分钟到2分钟。此时,cronjob按顺序运行。这意味着脚本执行一个作业,并在执行下一个作业之前等待作业结束。当我的web应用程序有一个新用户时,cronjobs将在一段时间内自动创建。一天24小时,我可以运行有限数量的cronjobs,从而限制用户数量(大约250-300)

如果我想在我的web应用程序上承载1000到100万用户,我需要做什么?我可以在多线程的基础上运行脚本吗?这意味着,与其等待作业完成,不如同时启动数百个作业。这样我就可以成倍地增加我的用户群


但是,mongodb和mysql能够支持什么样的并发性呢?我可以并行执行多少个作业?我需要考虑哪些因素来增长我的用户基础?是否需要向我的应用程序中添加更多的计算机?

如果不查看/理解您的脚本,就很难给出很多建议,但请查看GNU Parallel,以便轻松控制并行度。@MarkSetchell谢谢您的评论。脚本调用外部RESTAPI并处理数据,然后将其存储在数据库中。没有太多了。这有帮助吗?当然,处理涉及mongodb读写,然后应用算法,因此执行时间为2分钟