2012-07-23 74 views
0

我正在通過php文件處理apache中的http請求。有沒有辦法(通過在Apache的一些設置)相同的請求可以分爲兩個PHP文件,他們可以同時並行處理。它會導致任何性能問題?通過apache設置將http請求轉移到兩個文件

+0

哇,你爲什麼需要這個? – Ali 2012-07-23 06:24:46

+0

你想通過發送請求到兩個php文件來實現什麼? – 2012-07-23 06:25:50

+0

請求的速度爲5 /秒,而php文件需要5秒才能處理一個請求,因此可能會導致錯過某些請求。 – 2012-07-23 06:28:57

回答

0

除非你有一個非常奇怪的設置,你應該能夠處理多達數以千計的請求每秒。

Apache(假設標準設置)爲每個請求生成一個新的工作線程,然後線程處理請求。所以,如果你有一個處理請求的php腳本,那麼它將處理該線程內的請求。

PHP腳本沒有鎖定,當服務器處理請求時,它們被PHP運行時解釋並執行,這意味着單個腳本可以在多個線程中運行。

例如,我在工作中工作的應用程序由數百個PHP文件組成,每個應用程序字段每秒處理1000個請求,這些都是在大多數標準LAMP設置(我們有一些額外的,像XHProf)。

+0

同意,如果所有線程正在訪問相同的conf文件和日誌文件,該怎麼辦?他們是否會等待第一個線程完成並釋放資源? – 2012-07-23 06:55:15

+0

這取決於操作。如果它正在讀取,那麼操作系統通常可以使它看起來像是在同時讀取。寫入可以鎖定文件(取決於操作系統),但是如果您擔心這個問題,請寫入臨時文件並複製到目標位置。如果您持續長時間寫作,這將起作用。看起來你有點過度思考,嘗試簡單的方法,然後修復它,如果它中斷。 – Aatch 2012-07-23 21:25:35

0

HTTPd已經這樣做,除非您將PHP作爲CGI或其他特殊的單進程模式運行。

相關問題