每個虛擬機有多少個網站?
我們目前在虛擬主機上託管了大約 10 個我們自己的各種網站。每個網站都由自己的虛擬機和自己的 apache 託管。一些站點連接到共享數據庫(MySQL),一些站點使用不同的本地託管數據庫(同樣是 MySQL)。
我們開始耗盡分配給虛擬機的資源,因為現在有很多單獨的虛擬機。顯然有些網站比其他網站更忙。
我一直在考慮將幾個網站合併到一個主機上,以將虛擬機的總數減少到 4 個。
這樣做的結果是減少每個網站所需的成本,但當然會降低穩定性;如果 Apache/MySQL/PHP 由於任何原因(或需要重新啟動)失敗,則一組網站會出現故障,而不僅僅是一個。
我的問題是:一個網站在什麼時候值得擁有自己的專用虛擬機?
答案很明確:在自己的虛擬機中執行站點更有利。
這一點完全取決於您的環境,但對於中低流量站點,我總是僅圍繞技術問題進行分離,例如,當我有相互矛盾的技術要求或需要分離比使用虛擬主機可能的更多時。
最終,這將歸結為性能監控和分析,以查看哪些站點產生的負載最多。一個“繁忙”的站點可能不會導致性能下降,具體取決於它在做什麼。
您需要更具體地定義問題並提出具體問題。
您是否有任何直接歸因於特定站點的資源爭用問題(CPU、儲存、記憶體、網路)?
一些站點是否一直比其他站點使用較少/資源密集度較低(即它們“總是”消耗很少的資源?)
您的“繁忙”/資源密集型站點是否“總是”繁忙/資源消耗量大,或者是否始終存在高峰時間?
您能否將資源密集度較低的站點與使用率較高的站點整合在一起,並且仍然為該主機上的所有站點保持良好的整體性能?在進行任何更改後,這將需要更多的性能測量。
一旦您分析了站點的單個性能和資源使用率,您將能夠更好地確定是合併還是隔離到單個 VM。
這也是一個持續監控站點性能、歸檔以前的性能日誌等的情況,以便您可以確定以後是否需要改進。
不幸的是,沒有理想的公式來計算何時是將站點與其自己的 VM 隔離的最佳時間,因為我們都有不同的需求、限制等會影響託管決策。