Apache-2.2

為什麼本地主機上的響應這麼慢?

  • March 24, 2020

我正在為我的一個朋友開發一個很小的 PHP 項目,並且我有一個用於本地開發的 WAMP 環境設置。我記得我的本地 Apache 2.2 立即響應的日子。唉,現在我從一個漫長的假期回來了,我發現反應localhost慢得令人痛苦。

提供一個 300B 的 HTML 頁面大約需要 5 秒。

當我查看任務管理器時,httpd程序 (2) 正在使用 0% 的 CPU,並且我的電腦總體上沒有處於負載狀態(0-2% 的 CPU 使用率)。

為什麼延遲這麼高?有沒有我可以調整的 Apache 設置,以使其執行緒以更高的優先級執行?似乎它只是在發出響應之前就睡著了。

對我來說,將ServerName屬性設置為httpd.conf固定延遲(最壞的情況下最長可達 10 秒):

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
ServerName 127.0.0.1:80

我有同樣的問題。

在 hosts 文件中將 localhost 重定向設置為 127.0.0.1 沒有幫助。優化 MySQL 伺服器沒有幫助(InnoDB -> MyISAM,在 my.ini 中更改了許多與記憶體相關的指令)。

然後我使用 webgrind 並將問題縮小到“new PDO(…)”呼叫。改變

mysql:host=localhost;dbname=dp-ui;charset=utf8 

mysql:host=127.0.0.1;dbname=dp-ui;charset=utf8

在 dsn for PDO 中完全解決了這個問題!頁面載入時間從 3000 多毫秒變為 16 毫秒

但是我真的很困惑為什麼主機文件中的“127.0.0.1 localhost”行沒有幫助。

引用自:https://serverfault.com/questions/66347