我正在通過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請求到單個文件
- 5. 將文件從請求移動或複製到多個位置
- 6. 通過Apache HTTP客戶端庫獲得Java HTTP請求
- 7. 將通過POST Http請求(okhttp 3.3.1)上傳的多個文件移動到另一個目錄
- 8. 將curl請求轉換爲http請求?
- 9. 將參數設置爲HTTP請求
- 10. 通過IPv6的HTTP請求
- 11. HTTP POST請求通過Mailjet
- 12. 通過CFStream的HTTP請求
- 13. 配置Apache將請求轉發到主機上的自定義(非HTTP)進程
- 14. 通過http請求發送文件像xml到jsp或servlet
- 15. 通過HTTP登錄到網頁請求
- 16. Perl apache過濾器驗證HTTP請求中的頭文件
- 17. 通過HTTP請求將過濾器添加到gmail帳戶?
- 18. Apache的HTTP服務器 - 收到POST請求時刪除文件
- 19. 通過CORS請求設置cookie
- 20. 配置Apache Tomcat將請求轉發到Mongrel
- 21. 如何通過HTTP請求區分一個移動設備和另一個移動設備
- 22. 使用HttpClient通過HTTP GET請求請求整個頁面
- 23. 通過HTTP請求返回文本文件作爲數組javascript
- 24. 如何通過mod_wsgi捕獲Apache的所有http請求?
- 25. Apache Http組件 - 設置Cookie
- 26. Apache HttpClient是否將由java.net.CookieHandler設置的Cookie添加到請求?
- 27. 移動設備發出的HTTP請求
- 28. 如何將請求轉發到http:// server:port到http:// server:port/app
- 29. 通過HTTP請求將二進制數據上傳到AppEngine Blobstore
- 30. 將配置文件設置轉移到其他電腦
哇,你爲什麼需要這個? – Ali 2012-07-23 06:24:46
你想通過發送請求到兩個php文件來實現什麼? – 2012-07-23 06:25:50
請求的速度爲5 /秒,而php文件需要5秒才能處理一個請求,因此可能會導致錯過某些請求。 – 2012-07-23 06:28:57