我有一個Apache2和Django(mod_wsgi)設置,提供了一個RESTful API。我有一套自動化測試,它按順序執行〜1000個API請求(純HTTP GET/POST/PUT/DELETE)。奇怪的Apache請求延遲
問題是,對於每80個請求左右,我得到一個奇怪的滯後/超時精確到5秒或10秒。看到時間戳示例在這裏:
Request 1: 2013-08-30T03:49:20.915
Response 1: 2013-08-30T03:49:30.940
Request 2: 2013-08-30T03:50:32.559
Response 2: 2013-08-30T03:50:37.597
我不明白爲什麼發生這種情況。我有一個關閉KeepAlive的Apache配置(Django的推薦設置),但是Ubuntu 12.04 LTS的標準安裝。我試圖從同一臺服務器運行Web服務器,我首先想到這是某種DNS緩存的事情,但我已經添加了我要求給/ etc/hosts的主機名,但是問題是仍然存在。
當這種滯後/超時發生時,系統處於空閒狀態並有大量cpu和mem。 滯後不是特定於某個請求(URL),它似乎有點隨意。
考慮到它總是精確到毫秒5秒或10秒,感覺這是一些特定的設置導致這一點。
在您的Apache配置中,MaxRequestsPerChild的值是多少? –
@ThomasOrozco它被設置爲0,默認.. – Niklas9
那麼'WSGIDaemonProcess'的'maximum-requests'屬性怎麼樣? (見[這裏](https://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines)) –