執行proc_nice()時,它實際上是否正在運行Apache的線程?PHP proc_nice是否以新的優先級設置離開Apache線程?
如果是這樣,並且如果當前用戶(非超級用戶)無法恢復其原始優先級,則會在Apache 2.0x服務器上查殺適當的Apache線程(apache_child_terminate)?
問題是我試圖限制允許用戶運行Ad-Hack查詢的應用程序的影響。查詢可能很大,數據的轉換需要大量的內存和CPU。
我已經將流程重新編寫爲基於流的流程 - 幫助處理內存消耗,但是我還希望流程運行較低的優先級。不過,我不能將Apache線程置於低優先級,因爲我們有許多高優先級Web服務在同一個機器上運行。
TIA
感謝您的慷慨細節。我已經把這個系統分成了一個請求/隊列系統,正如你所描述的那樣(有些查詢可能需要幾個小時才能完成),儘管它是一個可以完成這項工作的web服務(並且Apache仍然參與其中)。我和一位同事討論過這個問題,他也建議讓CLI工作人員去做可能會被「剔除」的實際工作。我會看看Gearman,但同時我會考慮換一個CLI工作人員。 – ChronoFish
不客氣:-) ;;如果你的任務花費了這麼長時間,一個獨立於Apache的CLI應用程序似乎確實是必需的:否則,你將以沒有可用的Apache進程結束服務頁面,有一天或另一個...仍然,玩得開心! –