如果服務器通過命令行(在Ubuntu服務器上)調用PHP腳本,該腳本的多個實例是否可以同時運行?就我而言,這是一個使用FFmpeg轉換上傳視頻的PHP腳本。因此,如果有八個用戶在同一時間(或非常接近它)上傳視頻,那麼該PHP腳本的八個實例會同時運行,還是會一個接一個地排隊?如果他們排隊,是否有辦法改變它,以便多個實例可以同時運行?服務器調用的PHP腳本是否異步運行?
回答
同一腳本的多個實例確實可以同時運行。需要注意的是,性能會降低同時運行的更多腳本。另外你應該注意,如果你正在與一個數據庫進行交互,並且你正在寫一個表,那麼這個表不能被異步地完成,並且會導致一個隊列的形成(儘管是一個小問題,取決於正在進行的操作)。
證明
您可以通過創建中調用exec()
的地方,並執行另一個PHP腳本PHP腳本檢查這個(或實際上同一個 - 但要小心,不要製造一個無限循環)。也許將時間戳分散到文件或數據庫中,以便可以充分地看到它發生的情況。
「性能會降低同時運行的更多腳本。」大多數PHP腳本使用的是任何服務器資源的一小部分,所以它可以是在可測性能下降之前同時運行的不少腳本。對於運行多個腳本的某些任務將提高整個性能 – 2015-09-07 00:04:37
@Dagon取決於代碼的好壞);)。如果你編寫的代碼非常笨重,它確實有可能造成瓶頸。即使真的乾淨的代碼仍然可以運行多次,而不是僅僅一次(但我同意,這種差異可以忽略不計)。在他去之前,我覺得這是值得指出的,並且做了一些瘋狂的「運行×100000000」腳本。 – ScottMcGready
另外在我的情況下,PHP腳本使用shell_exec調用FFmpeg,所以...是的...可以絕對降低服務器性能:) – CGriffin
- 1. 服務器沒有運行PHP腳本
- 2. 如何異步運行PHP腳本?
- 3. 獲取服務器端PHP腳本從Android運行apk調用
- 4. java腳本服務器異步事件
- 5. 異步腳本執行PHP
- 6. 用我的本地服務器上的php運行bash腳本
- 7. SSIS中用於Web服務調用的異步腳本組件
- 8. .NET定時器是否異步運行?
- 9. shell腳本 - 檢查mongod服務器是否正在運行
- 10. 如何檢查服務器是否正在執行PHP腳本?
- 11. 可能的服務器運行腳本
- 12. 如何客戶端腳本或者服務器端腳本是否運行
- 13. PHP是否支持異步調用?
- 14. ASP.NET - 使異步調用服務器
- 15. Web服務進行異步調用
- 16. 腳本異步標記是否保留腳本執行順序?
- 17. CXF異步服務調用
- 18. 異步調用要服務
- 19. 異步調用Web服務
- 20. 是否可以運行Selenium腳本而不運行X服務器?
- 21. 使用JS在服務器上運行PHP腳本
- 22. 在服務器上運行Python腳本?
- 23. 從API服務上的PHP腳本調用遠程PHP腳本
- 24. 在C#中異步運行IronPython腳本
- 25. 異步服務器的長時間運行任務
- 26. 服務器啓動時的異步服務調用
- 27. 在服務器上運行php腳本的多線程
- 28. 運行存儲在服務器中的php腳本?
- 29. 異步調用Web服務 - iPhone(PHP網絡服務)
- 30. 異步任務從api的異步任務不運行異步
同一腳本的多個實例確實可以同時運行。 – ScottMcGready
謝謝 - 這就是我需要知道的一切!如果你留下一個答案,我會選中它。 – CGriffin