本文介紹PolarDB MySQL版與RDS MySQL在相同情境中OLTP負載效能的對比結果。
相對RDS MySQL,PolarDB MySQL版在如下幾方面進行了最佳化,提高了叢集整體效能:
採用了領先硬體技術,包括使用3DXpoint儲存介質的Optane儲存卡、NVMeSSD和RoCE RDMA網路等。
基於新的硬體,實現了一整套在使用者態啟動並執行IO和網路通訊協定棧,獲得了更高的效能、更低的延遲。
通過鎖最佳化、IO路徑最佳化、針對大表最佳化等核心層面的最佳化,實現了並發情境下的更優效能。
注意事項
在您對PolarDB和RDS進行效能對比前,請瞭解以下注意事項,以便能獲得比較準確、合理的效能對比結果:
使用相同規格配置的PolarDB和RDS進行效能對比。
使用相同版本的PolarDB和RDS進行效能對比。
推薦使用類比線上壓力的情境進行實際效能對比,或者使用Sysbench進行對比,這樣獲得的資料更接近線上實際情境。
在對比讀效能的時候,不推薦您使用單條SQL進行比較。
因為PolarDB是計算儲存分離的架構,所以單條語句有網路延遲的影響,導致讀效能不如RDS。但是線上資料庫的快取命中率基本都在99%以上,因此只有第一次的讀會調用I/O,因此讀取效能會降低,後續資料都在緩衝池(Buffer Pool)中,並不需要調用I/O,因此效能是一樣的。
在對比寫效能的時候,同樣不推薦您使用單條SQL進行比較,推薦類比線上環境進行壓力測試。
如果要對比RDS效能,請使用PolarDB(主節點+唯讀節點)和RDS(主執行個體+半同步的唯讀執行個體)進行對比。這是因為PolarDB的架構在寫入資料的時候預設採用Quorum機制,即寫入資料時預設寫入到三副本裡面的大多數(在三個副本中的兩個或兩個以上寫入成功,就認為寫操作成功了)。PolarDB已經在儲存層面做了資料冗餘,並保證三副本強同步高可靠,因此使用RDS MySQL的半同步複製(而不是非同步複製)進行對比更合理。