Linux

分析 Apache+Mysql+Php 伺服器 - 哪個是瓶頸?

  • April 3, 2015

如何配置 Linux + Apache + Mysql + Php 伺服器以提高速度?

我有一個在 Ubuntu 8.04 上執行的帶有經過大量修改的 MediaWiki 實例的伺服器。它有點遲鈍——我還沒有做任何優化它,所以我相信有很多容易實現的目標可以讓它更快一點。

但為了優化,您需要先進行測量。如何找出哪些組件(Apache、Php、Mysql)佔用了最大的時間來提供頁面?

好吧,當您對這樣的事情進行分析以找到瓶頸時,您需要一一排除。您需要一個基線來進行比較。如果您安裝了“ab”工具(它帶有 apache),您可以使用它。

為了獲得你的基線,我建議至少獲得幾百個請求的平均值。這是一個例子:

$ ab -n 400 http://yousite/

查看“Time per request”行的結果,它看起來像:

Time per request:       96.031 [ms] (mean)

記下那個時間,因為這是基線。

要排除 apache 作為罪魁禍首,請在您的伺服器上創建一個靜態頁面(只需保存您認為緩慢/緩慢的頁面的 html)並再次執行 ab 。

將一些 PHP 放入靜態頁面。它不一定是大量的,但它實際上應該做一些工作。MediaWiki 是非常好的程式碼,所以如果您的系統上存在 PHP 瓶頸,我的錢將用於將 PHP 堆棧實際載入到記憶體中並再次執行測試。

看看這三個數字,看看下一步之間最大的跳躍在哪裡。我敢打賭 MySQL 是這三個中最慢的,但很可能是您在一個頁面上傳入了很多圖像,這會減慢總請求時間,在這種情況下,您可能需要重新考慮頁。

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