AWS hs1.8xlarge RAID效​​能問題

AWS hs1.8xlarge RAID效​​能問題

編輯:我無法讓我的 hs1.8xlarge AWS 實例從其提供高效能 IO本機 24 個驅動器。請不要告訴我如何讓 EBS 磁碟區更快。


背景:在 Amazon cc1.4xlarge 實例(我們稱之為 )上運行 Greenplum 單節點版本 4.0.4.0 幾年並取得巨大成功後gp,我認為利用 hs1.8xlarge 實例會非常好及其24 個HDD(48TB 原始)本機安裝磁碟,以及120GB RAM。我們稱這個新設定為hsgp

在 上gp,我已安裝在 RAID-0 20 EBS 磁碟區中(考慮到 EBS 磁碟區已備份並且相對穩定地防止位元錯誤,我認為我會追求最大速度)。

現在,我想,新的閃亮的 hs1.8xlarge 將非常漂亮地超越該設置。到目前為止我錯了。一堆小而簡單的查詢(每個查詢數百萬行)的平均耗時約為 900 毫秒gp,而 2800 毫秒hsgp。較大的查詢(60 億行)也顯示出至少 2 到 3 倍的優勢gp

我絕對不是 RAID 等級的專家,但我認為 RAID-10 對於 24x 2TB 硬碟來說是一個合理的選擇。我ext4在 raid 陣列上使用,帶有-m .1 -b 4096選項,並且它安裝有-a noatime.

我注意到的一件事是,即使mdadm 花了三天時間才解決(「重新同步驅動器」),它也沒有亞馬遜聲稱的hs1.8xlarge 可以提供的那麼快:我的寫入速度約為305MB/ s ,705MB/s 讀取速度。 Amazon 表示,順序寫入速度可達 2.4GiB/s,順序讀取速度可達 2.6GiB/s。

有什麼想法可以獲得更高性能的設定嗎?

我是否應該放棄統一的磁碟空間(具有 24 個驅動器的陣列),轉而使用更小的陣列,每個 greenplum 片一個?

以下是hsgp設定的詳細資訊:

我使用了 hvm Amazon linux 實例 ( amzn-ami-hvm-2013.09.1.x86_64-ebs (ami-d1bfe4b8)),並更新為vmlinuz-3.4.71-63.98.amzn1.

下面給出了調整系統的參數。

sysctl.conf:

# greenplum specifics in /etc/sysctl.conf
kernel.sem = 250 64000 100 512
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.shmall = 4294967296
kernel.sem = 250 64000 100 512
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.conf.all.arp_filter = 1
net.core.netdev_max_backlog=10000
vm.overcommit_memory=2

限制:

# greenplum specifics in /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

RAID 陣列詳細資訊:

mdadm --create --verbose /dev/md0 --chunk=2048 --level=raid10 --raid-devices=24 /dev/xvd[b-y]

mkfs.ext4 -v -m .1 -b 4096 /dev/md0
mount -o noatime /dev/md0 /data

答案1

造成這種性能差距的因素有很多:

  1. 比較 24 軸 RAID-10 與 20 軸 RAID-0 磁碟區寫入效能預計分別為單一磁碟的 12 倍和 20 倍。因此,大約 2 倍的減速並不是瘋狂的。
  2. 您已將區塊大小設定為僅為 2KB。預設值為 512KB。 (支援基準)。
  3. 實際引用「每秒 2.6 GB 的讀寫效能...塊大小為 2 MiB」(來源)。您的 ext4 區塊大小是 4K,小了 512 倍。

您還遺漏了有關 20-EBS 支援的捲設定的詳細資訊。如果不指定磁碟區大小或類型(ssd GP、ssd 配置 IOPS 或磁性),我們只能完全猜測方程式的大小。

答案2

如果diskio是你的瓶頸,你可以透過以4000G/s的速度運行iops卷來獲得更好的性能和易於管理......這比常規ebs卷上的raid0更容易管理,並且能夠進行ebs快照使恢復變得容易。我的初步基準測試顯示 iops 比具有 6 100G 分片的 raid0 快 4000,但我還沒有進行徹底和一致的測試,無法給出確切的數字。

相關內容