我正在通過php文件處理apache中的http請求。有沒有辦法(通過在Apache的一些設置)相同的請求可以分爲兩個PHP文件,他們可以同時並行處理。它會導致任何性能問題?通過apache設置將http請求轉移到兩個文件
回答
除非你有一個非常奇怪的設置,你應該能夠處理多達數以千計的請求每秒。
Apache(假設標準設置)爲每個請求生成一個新的工作線程,然後線程處理請求。所以,如果你有一個處理請求的php腳本,那麼它將處理該線程內的請求。
PHP腳本沒有鎖定,當服務器處理請求時,它們被PHP運行時解釋並執行,這意味着單個腳本可以在多個線程中運行。
例如,我在工作中工作的應用程序由數百個PHP文件組成,每個應用程序字段每秒處理1000個請求,這些都是在大多數標準LAMP設置(我們有一些額外的,像XHProf)。
同意,如果所有線程正在訪問相同的conf文件和日誌文件,該怎麼辦?他們是否會等待第一個線程完成並釋放資源? – 2012-07-23 06:55:15
這取決於操作。如果它正在讀取,那麼操作系統通常可以使它看起來像是在同時讀取。寫入可以鎖定文件(取決於操作系統),但是如果您擔心這個問題,請寫入臨時文件並複製到目標位置。如果您持續長時間寫作,這將起作用。看起來你有點過度思考,嘗試簡單的方法,然後修復它,如果它中斷。 – Aatch 2012-07-23 21:25:35
HTTPd已經這樣做,除非您將PHP作爲CGI或其他特殊的單進程模式運行。
- 1. 通過htaccess阻止外部http請求到某個文件夾
- 2. 如何通過http請求發送文件到http服務器
- 3. Git通過HTTP請求密碼兩次
- 4. 將http請求重定向到apache
- 5. 多個HTTP請求到單個文件
- 6. 如何在apache camel上設置正文http POST請求
- 7. 通過Apache HTTP客戶端庫獲得Java HTTP請求
- 8. 將文件從請求移動或複製到多個位置
- 9. 將通過POST Http請求(okhttp 3.3.1)上傳的多個文件移動到另一個目錄
- 10. 將curl請求轉換爲http請求?
- 11. Android通過jsp將一個HTTP請求發送到oracle db?
- 12. 轉換CURL請求HTTP請求的Java通過GET方法,
- 13. 將參數設置爲HTTP請求
- 14. Apache將所有請求轉發到特定的靜態文件
- 15. HTTP請求是通過AJAX
- 16. HTTP POST請求通過Mailjet
- 17. 通過PHP的http請求
- 18. 通過IPv6的HTTP請求
- 19. Openfire MUC通過HTTP請求
- 20. 通過CFStream的HTTP請求
- 21. 配置Apache將請求轉發到主機上的自定義(非HTTP)進程
- 22. 通過http請求發送文件像xml到jsp或servlet
- 23. 通過HTTP登錄到網頁請求
- 24. Perl apache過濾器驗證HTTP請求中的頭文件
- 25. 通過php發送多個http請求
- 26. ASP VbScript通過HTTP請求設置會話
- 27. 通過HTTP請求將過濾器添加到gmail帳戶?
- 28. Nginx轉發每個請求到Apache Tomcat
- 29. 將NSString轉換爲HTTP POST請求中可通過的表單
- 30. Apache的HTTP服務器 - 收到POST請求時刪除文件
哇,你爲什麼需要這個? – Ali 2012-07-23 06:24:46
你想通過發送請求到兩個php文件來實現什麼? – 2012-07-23 06:25:50
請求的速度爲5 /秒,而php文件需要5秒才能處理一個請求,因此可能會導致錯過某些請求。 – 2012-07-23 06:28:57