Mysql

目前設置最大化 CPU。需要幫助通過 AWS RDS 實例設計 AWS 架構和 MySQL 集群

  • April 7, 2015

我的公司使用 X-Cart 作為後端執行一個中型電子商務(每月 30,000-50,000 次獨立瀏覽)購物車。我們正在重新設計和升級我們的後端軟體。我們目前的伺服器存在問題,MySQL 的 CPU 最大值已超出。我們正在修復一些緩慢的查詢,但我們需要從目前的專用設置升級到新的基礎架構。現在我們有一個 RHEL - AMD 2.2ghz 8 核、31 Gig RAM 設置和機架空間。

目前的遷移計劃是轉到 AWS。現在我的想法是將所有流量通過路由 53 推送到 AWS 負載均衡器。從那裡在 m3.xlarge 上執行 Apache 和 PHP,在 m3.xlarge 上執行 X-Cart,在 c4.2xlarge 上執行 MySQL(31 ECU,8 核雙倍額外處理能力)。我計劃使用 AMI 映像和 S3 儲存桶來儲存伺服器設置以進行自動縮放配置。如果需要,我會將該設置保留在其自己的區域中以自動縮放。

這是我感到困惑的地方。

  • 創建 MySQL 集群是否有任何性能優勢。
  • 據我了解,我可以創建一個主從。Slaves 可以僅針對讀取或寫入權限進行調整,並且我還可以在不同的區域進行備用,以防發生故障或中斷。
  • 通過創建讀取從站,我應該期望看到多少性能升級。此外,縮放是如何發揮作用的
  • 我計劃為數據庫獲取一個高 CPU 實例,我可以用更小的實例進行橫向擴展嗎?
  • 現在我們的託管費用大約是 1000,我設置預置的方式是否足夠強大。全部將是 M3.xlarge,相當於 15.0 GB ram 13 ecu 單元 4 核,MySQL 將在 CPU 端 31 ECU 8 核上有一個更強大的伺服器,除非我們使用集群設置來提高性能。

創建 MySQL 集群是否有任何性能優勢。

如果它是主/從配置,則不會。

如果您進行主/主或多主配置,性能優勢將類似於負載平衡 Web 伺服器,但如果您想保持數據的完整性,則必須考慮複製網路流量。這不是一個簡單的任務。

據我了解,我可以創建一個主從。Slaves 可以僅針對讀取或寫入權限進行調整,並且我還可以在不同的區域進行備用,以防發生故障或中斷。

您可以根據需要配置任意數量的主機和從機,具體取決於您準備處理的複雜程度。

通過創建讀取從站,我應該期望看到多少性能升級。

如果沒有有關您的數據庫目前提供的讀取量的資訊,就無法判斷。

我計劃為數據庫獲取一個高 CPU 實例,我可以用更小的實例進行橫向擴展嗎?

就像我提到的,這取決於你願意處理多少複雜性。橫向擴展數據庫通常是優化性能的最後一步。

在你需要擴展你的數據庫之前,你可以擴展你的 web 層,你的應用層,你可以添加一個 memcached 伺服器來記憶體常見的數據庫查詢,你可以調整你的數據庫的索引,等等。

根據我的經驗,為了性能而不是冗餘的數據庫集群並不是一個常見的場景。

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