名为PHP脚本的服务器是否异步运行?

名为PHP脚本的服务器是否异步运行?,php,ubuntu,server,Php,Ubuntu,Server,如果服务器通过命令行(在Ubuntu服务器上)调用PHP脚本,该脚本的多个实例是否可以同时运行?在我的例子中,它是一个PHP脚本,使用FFmpeg转换上传的视频。因此,如果八个用户同时(或非常接近)上传一个视频,那么八个PHP脚本实例会同时运行,还是会一个接一个地排队?如果它们排队,是否有办法更改它,使多个实例可以同时运行?同一脚本的多个实例确实可以同时运行。需要注意的是,同时运行的脚本越多,性能就会降低。另外,您还应该注意,如果您正在与数据库交互,并且锁定了一个表以进行写入,那么这不能异步完成

如果服务器通过命令行(在Ubuntu服务器上)调用PHP脚本,该脚本的多个实例是否可以同时运行?在我的例子中,它是一个PHP脚本,使用FFmpeg转换上传的视频。因此,如果八个用户同时(或非常接近)上传一个视频,那么八个PHP脚本实例会同时运行,还是会一个接一个地排队?如果它们排队,是否有办法更改它,使多个实例可以同时运行?

同一脚本的多个实例确实可以同时运行。需要注意的是,同时运行的脚本越多,性能就会降低。另外,您还应该注意,如果您正在与数据库交互,并且
锁定了一个表以进行写入,那么这不能异步完成,并且会导致队列形成(尽管是一个较小的队列,取决于正在执行的操作)

证明


您可以通过创建一个PHP脚本来检查这一点,该脚本在其中的某个地方调用
exec()
,并执行另一个PHP脚本(或者实际上是同一个脚本,但请注意不要创建无限循环)。可能会向文件或数据库添加时间戳,以便您能够充分地看到它的发生。

同一脚本的多个实例确实可以同时运行。谢谢-这就是我需要知道的全部!如果您留下答案,我将选中它。“性能会降低,同时运行的脚本越多。”大多数php脚本使用服务器资源的一小部分,因此在出现任何可测量的性能降低之前,可能有相当多的脚本同时运行。对于某些任务,运行多个脚本将提高总体性能performance@Dagon取决于代码的好坏;)。如果您编写的代码非常笨重,那么它确实有可能造成瓶颈。即使是真正干净的代码,运行多次也可能比只运行一次慢(但我同意,这种差异可以忽略不计)。在他去做一些疯狂的
runx10000000
script之前,我觉得值得一提。。。是 啊肯定会降低服务器性能:)@PeregrineStudios很好。。。取决于服务器;)!