Apache 2.4 + fcgid + centos 6.6 中的許多 gettimeofday - 靜態檔案等待時間長

Apache 2.4 + fcgid + centos 6.6 中的許多 gettimeofday - 靜態檔案等待時間長

當我對 apache 進程執行 strace 時,即使 Apache 返回圖像文件等靜態文件,我也會在 GET 請求之前和之後看到許多 gettimeofday 。這會導致 Apache 2.4(使用 php 5.6、fcgid)回應 GET 請求之前需要很長的停機時間。

1616 0.000048 讀(156, "GET / HTTP/1.1\r\n", 8000) = 16
第1616章 0.000099 gettimeofday({1430592206, 931114}, NULL) = 0
第1616章 0.000044 gettimeofday({1430592206, 931156}, NULL) = 0
1616 0.000035 read(156, 0x7f01d4007018, 8000) = -1 EAGAIN(資源暫時無法使用)
1616 0.000042 民意調查([{fd=156, 事件=POLLIN}], 1, 7915439
第1670章 0.020724 <... epoll_wait 恢復> {}, 100, 100) = 0
第1670章 0.000039 gettimeofday({1430592206, 951998}, NULL) = 0
第1670章 0.000037
第1670章 0.000033 gettimeofday({1430592206, 952066}, NULL) = 0
第1670章 0.000032 epoll_wait(155, {}, 100, 100) = 0
第1670章 0.100265 gettimeofday({1430592207, 52366}, NULL) = 0
第1670章 0.000041 gettimeofday({1430592207, 52405}, NULL)=0
第1670章 0.000033 取得時間({1430592207,52437},NULL)= 0
第1670章 0.000033 epoll_wait(155, {}, 100, 100) = 0
第1670章 0.100324 gettimeofday({1430592207,152804},NULL)=0
第1670章 0.000066 gettimeofday({1430592207, 152865}, NULL) = 0
第1670章 0.000073 gettimeofday({1430592207, 152941}, NULL) = 0
第1670章 0.000060 epoll_wait(155, {}, 100, 100) = 0
第1670章 0.100251
第1670章 0.000039
第1670章 0.000032
第1670章 0.000032 epoll_wait(155, {}, 100, 100) = 0
第1670章 0.100241 gettimeofday({1430592207, 353597}, NULL) = 0
第1670章 0.000061 gettimeofday({1430592207, 353653}, NULL) = 0
第1670章 0.000071 取得時間({1430592207,353727},NULL)= 0
第1670章 0.000045 epoll_wait(155, {}, 100, 100) = 0
在伺服器實際返回 GET 回應之前,有很多這樣的情況。

我做了什麼:

  • 我已經在 httpd.conf 中設定了 ExtendedStatus 關閉,以防萬一。
  • 我遵循了紅帽團隊的建議,做了一個
    echo "kernel.vsyscall64 = 2" >> /etc/sysctl.conf
    & 然後編輯 sysctl 。
  • 迴聲 1 > /proc/sys/kernel/vsyscall64

這稍微提高了Apache 2.4的響應速度,但仍然很慢並且有很多Gettimeofday。我沒有 modsecurity,只有 Apache 的標準模組。儘管如此,我還是懷疑有一個模組。

我檢查過它是否是 ioncube 5.0.2 但不是。

正常嗎?如果不是,您認為它可能來自 Apache 的模組嗎?

編輯:看起來它與複製到 3 個日誌的 3 個時間戳匹配,寫下了三個錯誤/警告。

謝謝你。

相關內容