Apache-2.2

高流量的伺服器性能?

  • September 24, 2017

我需要確保我的網站針對高流量進行了適當優化(伺服器、PHP 程式碼和 MySQL 查詢)。我很快就準備好推銷我的網站,並期待每天有 10,000 到 50,000 個註冊的大量流量,這意味著數據庫密集型和大量圖像上傳。我需要確保我的伺服器可以處理負載

PHP 程式碼是由Elance附近的一家公司完成的,我知道我有 SQL 注入問題和緩慢的查詢,所以我知道這是首先要解決的問題。

該網站是 100% PHP/MySQL,自定義框架,由我從 Elance 聘請的一家公司做的有點草率。它容易受到 SQL 注入的影響,而且查詢速度很慢。

我需要獲得有關如何設置伺服器、RAID 以及是否應該獲得CDN以及如何設置的伺服器建議。

我需要一個非常了解數據庫、伺服器、安全、Linux 和 Apache 的專業人員。我不希望我的網站在開始行銷時崩潰。

我目前的伺服器設置是:

Dual quad-core Xeon Server (8 cores)
8 GB DDR RAM
2 x 1 TB 7200RPM SATA hard disk drives
RAID MIRROR
20 Mbit/s unmetered bandwidth

我知道它很廣泛,但我的主要問題是:我應該獲得一個 CDN 來傳遞圖像,還是你認為只有一個野獸伺服器可以處理負載?我應該使用 memcache 還是APC?ETC…

這是一個基本的社交網路利基網站,但會有很高的流量和大量的圖片上傳,並且該網站以圖片為基礎。如果有 RAID,什麼樣的 RAID?什麼樣的硬碟驅動器?我正在尋找的公司專用伺服器非常實惠,並且有很多選擇。上面的伺服器只有 $ 199/month base. I can add 2 x 600 GB 10k RPM drives for a one time fee of $ 300等…

上面的伺服器只有 $ 199/month base. I can add 2 x 600 GB 10k RPM drives for a one time fee of $ 300,

啊,這不加起來。這不是“大量圖像”;它是“小型低端伺服器”。不是“怪物機器”,而是“eBay 大小”。將其與您擁有的福特福克斯之類的汽車進行比較,然後詢問如何用它駕駛一級方程式賽車。它行不通。

現實檢查:如果你達到了你所說的註冊數量,一台伺服器就不會這樣做。觀點。沒有一個有 2-3 個光碟的。你會很幸運能夠讓它與基於 SuperMicro 儲存的伺服器一起工作 - 可以容納 72 個(!)硬碟。那麼你就可以擁有 I/O 和儲存容量。

一天內有 10,000-50,000 個註冊,這意味著數據庫密集型

現實檢查:低端意味著每月 300.000 次註冊。在 6 個月內有 180 萬使用者。

每個使用者上傳 1 兆字節的圖片(很多人不會,但很多人會做更多)。我們談論一個不錯的 1800 GB。只是為了圖像。並且非常保守。僅此一項就超出了您的光碟允許的範圍。這是非常保守的數字。

現實檢查:180 萬使用者,即使僅對小部分活動,也會將大量 CPU 和磁碟 I/O 用於數據庫 - 在這裡更好地談論一些重要的 SSD 磁碟 (2-3)。SSD,因為您的管理數據庫不會那麼大,並且 SSD 會殺死任何其他 IOPS 明智的東西,這就是伺服器執行的原因。不是儲存大小,IOPS。

但我的印像是雙至強每天可以處理 20-50k 次訪問

啊,是的,它很容易做到。

問題是您每天沒有 20-50k 的訪問者。保守地說,您每天有 10.000 個新註冊。您希望訪客永遠不會回來?如果沒有,那麼在 6 個月內,您將輕鬆達到……嗯……假設每天有 5% 的人訪問……那就是每天 90,000 次訪問。關於我之前得到的保守數字。

上帝啟動伺服器,但優化不會帶你走太遠。計劃更換。一種很牛的。

雙四核 Xeon 伺服器(8 核) 8 GB DDR RAM 2 x 1 TB 7200 RPM SATA HD RAID MIRROR 20 Mbit/s 非計量頻寬

好的,8 GB RAM 對處理器來說是個笑話,你在那裡遇到了麻煩。您需要更多 RAM,我建議至少 24 GB。這些光碟真的不能用於任何事情。我現在在負載伺服器上使用 Velociraptors 3000 GB - 良好的 IOPS 和良好的價格。SATA,但在 SAS 背板上,它們會發光。無論您做什麼,光碟都將成為您的瓶頸。除非您將幾乎所有內容都移入 RAM 以進行正常請求。7,200 RPM SATA 磁碟不適合執行不斷載入的伺服器。我建議使用更多 RAM 的原因之一 - 您可能想要執行反向代理。

CDN:可以工作,但您必須考慮價格;)

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