2014-01-09 107 views
0

我正在尋找關於Apache & MySQL Web服務器模型的建議。Apache和MySQL SSD Web服務器模型

我正在就此尋求建議,因爲PHP頁面間歇性地加載速度過慢或超時。就我所知,這是因爲Site5(我們當前的主機)將同時進程的數量限制爲我們帳戶上的所有網站的3個,並且每個頁面負載平均有50個MySQL查詢,至少有一個,我們的網站。

  1. 因爲SSD和他們的優惠價格,我正在計劃與Digital River一起主辦SSD SSD服務器公司。
  2. 我來自Site5/Media Temple/Rackspace環境。
  3. 我們爲我們爲客戶定製的標準WordPress網站提供主機。

我的理解是,如果MySQL運行在自己的服務器上,MySQL運行得更好。但我明白,主要是因爲傳統的硬盤驅動器,因爲它共享資源,所以它減緩了PHP的運行速度。所以我想知道這是否仍然與SSD有關?

另外,據我瞭解,在一個單獨的服務器上運行MySQL是有利於維護的,因爲MySQL可以擁有比Apache/PHP更多的數據庫,而且每臺服務器可以運行網站。因此,有多個物理Apache/PHP服務器和一個集中式MySQL服務器(直到有必要擴展)時纔有意義。

任何意見是讚賞(特別是圖)謝謝!

+0

這聽起來不像你有性能問題_yet_擔心。如果您代表客戶託管,獲得體面的VPS並將它們全部託管在同一個VPS上,並監視/估計每個添加到該框中的負載。您是否在舊的非SSD主機上有加載問題? – halfer

+0

感謝您花時間回覆halfer。我應該提到我正在尋求有關這方面的建議,因爲PHP頁面間歇性地加載速度過慢或超時。就我所知,這是因爲Site5(我們當前的主機)將同時進程的數量限制爲我們帳戶上的所有網站的3個,並且每個頁面負載平均有50個MySQL查詢,至少有一個,我們的網站。 –

+0

啊,共享主機?解決方案進入VPS,因此您可以自己控制同時的流程限制。 – halfer

回答

3

這取決於您的數據庫和流量。 MySQL的默認引擎現在是InnoDB,如果調整得當,將比舊的MyISAM表需要更多的內存。如果您在高流量服務器上有幾個大的InnoDB表,您應該爲緩衝池分配高達80%的服務器內存,以使其運行達到最佳狀態。當然,這可能需要它在專用服務器或VPS上運行。

HDD的問題是,如果您沒有將足夠的內存分配給緩衝池,則在對錶進行排序時,HDD將用於交換內存和內存。爲您的Web服務器安裝SSD不一定能解決這個問題,因爲它確實是一個內存問題,而不是磁盤速度問題。

您可能會考慮使用諸如AWS RDBS之類的東西作爲後端,然後再爲您的Web /應用層使用更小型的雲服務器。我已經成功完成了這個任務,並且它似乎對你似乎想要做的事情很好。 Rackspace還有一個基於雲計算的數據庫解決方案,但我還沒有在現場環境中進行測試。也許其他人可以參與進來。

如果你堅持使用舊的MyISAM表格(當你創建它們時你必須明確設置),你可以爲大多數簡單的應用程序獲得更好的性能。但是,在某些時候,您可能仍然會受到資源的限制。再說一次,它更多的是限制磁盤的內存限制,但是。爲了獲得理想的性能,如果您的數據庫位於自己的服務器上,那麼您可以使用磁盤分區(匹配塊大小與緩衝池大小,種類)來做一些奇特的事情,以真正增加I/O。但是,這可能是對你正在做的事情矯枉過正。

+0

感謝您花時間回覆Brian。我們的網站每小時接收的訪問量最少,不超過6000個獨立訪問者。你能定義「大桌子」嗎?因此,更多的**內存**比更快的驅動器更有可能受益?這就說得通了。再次感謝! –

+1

大表與您的服務器的大小有關。基本上,在InnoDB表上,整個表必須適合內存進行排序。如果這是一個簡單的WP網站,很可能你會遇到問題。但是,您可以通過查看phpmyadmin中的數據長度屬性或其他工具來查看錶格大小,並瞭解您的位置。只要知道如果表的大小比緩衝池大,就會發生分頁到硬盤,並且你的性能會開始下降。 –

+0

好吧,如果我有2Gb的RAM,並且我的整個MySQL數據庫的大小是1.5Gb,那麼這將是一個大型數據庫?還是緩衝池仍然與RAM分離(我明白,緩衝池是一種配置設置,與可以使用的內存量有關,我假設它是RAM?)? –