問題描述
我們正在 amazon 上規(guī)劃我們的新 EBS 結(jié)構(gòu),以便從 SQL Server 中獲得最佳性能.過程中出現(xiàn)了一些疑惑:
We are planning our new EBS structure on amazon to get the best performance out of SQL Server. During the process some doubts appeared:
1 - 使用亞馬遜計(jì)算器 (http://calculator.s3.amazonaws.com/index.html) 我們得到的成本如下:
1 - Using the Amazon calculator (http://calculator.s3.amazonaws.com/index.html) we got the costs below:
- 通用 (SSD) - 1000GB - 3000 IOPS = 184,30 美元
- 預(yù)配置 IOPS (SSD) - 1000GB - 3000 IOPS = 511,00 美元
對(duì)于相同的性能 (???),這個(gè)數(shù)量在一個(gè)月內(nèi)是一個(gè)巨大的差異,我知道通用 SSD 上的IOPS 突發(fā)實(shí)現(xiàn)",但根據(jù)文檔:
This amount is a huge diference in a month for the same performance (???), I'm aware about the "IOPS burst implementation" on General purpose SSD, but according to documentation:
http://docs.aws.amazon.com/AWSEC2/最新/用戶指南/EBSVolumeTypes.html
當(dāng)卷大小為 1000 GB 時(shí),突發(fā)持續(xù)時(shí)間為無限"(始終為 3000 IOPS).
When the volume size is 1000 GB the burst duration is "infinite" (Always 3000 IOPS).
可以說上面兩個(gè)磁盤的性能完全一樣嗎?
Is it safe to say that the performance between the two disks above are exactly the same?
2 - 我們需要大約 1700 GB 用于 100 個(gè)數(shù)據(jù)庫,我們應(yīng)該使用什么布局?
2 - We need about 1700 GB for 100 databases, what layout should we use?
選項(xiàng):
- 獲取兩個(gè)磁盤 (GP SSD),每個(gè)磁盤具有 1000GB (3000 IOPS),并在這兩個(gè)磁盤之間分配工作負(fù)載.
- 獲得兩個(gè)磁盤 (GP SSD),每個(gè)磁盤具有 1000GB (3000 IOPS),然后與 RAID 0 放在一起?(我們將能夠有 6000 IOPS 突發(fā),但我應(yīng)該擔(dān)心 EBS 故障嗎?)
- 獲得四個(gè)磁盤 (GP SSD),每個(gè)磁盤具有 1000GB (3000 IOPS) 并使用 RAID 10?(EBS 有必要嗎?)
- 提出您的建議,我會(huì)很高興聽到的.
推薦答案
來自亞馬遜支持,希望對(duì)您有所幫助!
From Amazon support, hope this helps!
問候
磁盤成本問題很容易回答.通用 (SSD) 和預(yù)配置 IOPS (SSD) 使用類似的技術(shù).它們并排可以達(dá)到相同的速度,唯一的區(qū)別是 GP2 最大速度為 3000,PIOPs 為 4000,每卷.PIOPS 昂貴得多的原因之一是您還需要為使??用的 IO 數(shù)量付費(fèi),而 GP2 沒有每個(gè) IO 的成本.
The disk cost question is easy enough to answer. General purpose (SSD) and Provisioned IOPS (SSD) use similar technology. Side by side they can achieve the same speeds, the only difference being that GP2 maximum sped is 3000 and PIOPs is 4000, per volume. One reason PIOPS is much more expensive is that you also pay for the number of IO you use, where as GP2 there is no per IO cost.
至于 1700GB 數(shù)據(jù)存儲(chǔ)的設(shè)計(jì),有兩個(gè)主要因素.冗余和性能.當(dāng)然,成本是一個(gè)重要因素.為了在此處提供適當(dāng)?shù)闹笇?dǎo),我們需要知道您的實(shí)際需求是什么,然后我們可以提出一些解決方案.但是,有幾個(gè)主要的 RAID 級(jí)別等符合您的建議,我們可以討論.
As for the design of the 1700GB datastore, there are 2 main factors. Redundancy and Performance. And of course cost is a big factor. To provide proper guidance here we would need to know what your actual needs are going to be then we could suggest some solutions. However, there are a couple of main RAID levels etc that match what you suggested that we can talk about.
獲取兩個(gè)磁盤 (GP SSD),每個(gè)磁盤具有 1000GB (3000 IOPS) 并在這兩個(gè)磁盤之間分配工作負(fù)載.沒有RAID.我認(rèn)為你的意思是只有一個(gè)卷上有一些數(shù)據(jù)庫,而另一卷上有一些數(shù)據(jù)庫?這對(duì)我來說,其實(shí)很好.我要做的就是將數(shù)據(jù)庫備份到其他一些本地連接的 EBS 卷.這適用于不超過 3000 IO(讀取和寫入組合)的工作負(fù)載.它也很容易擴(kuò)展.只需添加更多磁盤即可.
Get two disks (GP SSD) with 1000GB (3000 IOPS) each and distribute the workload among this two. No RAID. I take it you mean just have some databases on one volume and some on the other? This to me, is actually fine. All i would do in addition is backup the DBs to some other locally attached EBS volumes. This would be for workloads no greater that 3000 IO (read and writes combined). It's also easily expandable. Just add more disk.
獲得兩個(gè)磁盤(GP SSD),每個(gè)磁盤具有 1000GB(3000 IOPS),然后與 RAID 0 放在一起?(我們將能夠有 6000 IOPS 的突發(fā),但我應(yīng)該擔(dān)心 EBS 故障嗎?)RAID 0.您在這里所做的只是使速度提高一倍.但是丟失一張磁盤,您將失去一切.同樣,如果您愿意在磁盤出現(xiàn)故障時(shí)從備份中恢復(fù),那么這是一個(gè)快速且廉價(jià)的配置,最多 6000 次 IO.不容易擴(kuò)展.
Get two disks (GP SSD) with 1000GB (3000 IOPS) each and put then together with RAID 0 ? (We will be able to have 6000 IOPS burst, but should I be worried about EBS fault?) RAID 0. All you have done here is make things twice as fast. But lose one disk and you lose everything. Again, if you are happy to restore from backup if a disk fails, this is a fast cheap config, for upto 6000 IO. Not easily expandable.
獲得四個(gè)磁盤 (GP SSD),每個(gè)磁盤具有 1000GB (3000 IOPS) 并使用 RAID 10?(EBS 有必要嗎?)RAID 5、6 和 10.這些都更快、更冗余.可以說,RAID 10 是數(shù)據(jù)庫的最佳配置,也可能是適合您的配置.擁有 1700 GB 的數(shù)據(jù),如果出現(xiàn)問題,就會(huì)有很多不開心的人.
Get four disks (GP SSD) with 1000GB (3000 IOPS) each and use RAID 10? (Is it necessary with EBS?) RAID 5, 6, and 10. These are all faster and more redundant. Arguably, RAID 10 is the best config for database, and probably the right config for you. With 1700 GB of data, if things go wrong there will be lots and lots of unhappy people.
有什么建議嗎?你考慮過亞馬遜RDS嗎?RDS 有很多優(yōu)點(diǎn).我們負(fù)責(zé)所有繁重的工作,包括多可用區(qū)部署,并且 RDS 可以隨著您的需求增長而垂直(CPU)和水平(空間)擴(kuò)展.
Any suggestions? Have you considered Amazon RDS? RDS has lots of advantages. We do all the heavy lifting, including multi AZ deployments, and RDS can expand vertically (CPU) and horizontally (Space) as your needs grow.
http://aws.amazon.com/rds/details/
使用 GP2 需要考慮的另一件事是……您可能"不需要配置 1TB 卷.您可能不需要 3000 IO 的無限"突發(fā)模型.假設(shè)您確實(shí)希望一直以 3000 IO 運(yùn)行.為什么不配置 5 x 200GB 卷,其中每個(gè)卷每 GB 有 3 個(gè) IO.所以 5x200x3=3000IO 基線.將 5 個(gè)卷放在 raid 5 中(例如),你應(yīng)該一整天都在 3000IO 左右,如果你不超過它就永遠(yuǎn)不會(huì)耗盡信用(并且 IO 是平均分配的)
The other thing to consider with GP2 is.... you 'might' not need to provision 1TB volumes. You probably do not need the 3000 IO 'infinity' burst model. Lets say you do want to run at 3000 IO all the time. Why not provision 5 x 200GB volumes, where each volume has 3 IO per GB. So 5x200x3=3000IO baseline. Put the 5 volumes in raid 5 (for example) and you should get around 3000IO all day long, and never run out of credit if you dont go over that (and IO is equally distributed)
但是,在您將速率限制為每卷 600IO 之前,這些卷可以連續(xù) 30 分鐘突增至 3000 IO.總共仍然是3000IO.所以...在這個(gè)配置中,您可以隨時(shí)突增到 15,000IO,當(dāng)您受到限制時(shí),您仍然擁有您預(yù)測需要的 3000IO.只是不要超過 3000 運(yùn)行超過需要,否則你將沒有爆發(fā).
However, those volumes can each burst to 3000 IO for 30 minutes continuous before you get rate limited to 600IO per vol. Which is still 3000IO in total. So... in this config you can burst to 15,000IO at anytime and when you do get limited you still have the 3000IO you predicted you need. Just don't run at over 3000 for more than needed or you'll have no burst left.
整潔吧?我認(rèn)為值得打電話或聊天以討論您的實(shí)際需求并回答任何問題.但最終,您需要測試和基準(zhǔn)測試您決定采用的設(shè)計(jì),因?yàn)檎務(wù)撌挛锖蛯?shí)際結(jié)果總是不同的!我想你們很先進(jìn),但是 - 如果您想對(duì)各種設(shè)計(jì)進(jìn)行一些簡單的測試以幫助您決定什么是最好的,這里有一個(gè)很好的示例基準(zhǔn)測試.
Neat huh? I think it is worthwhile to call or chat in to discuss your actual needs and answer any questions. Ultimately though, you will need to test and benchmark which ever design you decide to go with as talking about things and actual results will always differ! I imagine you guys are quite advanced but - here is a great example benchmark if you want to do some simple tests on various designs to help you decide what is best.
http://docs.aws.amazon.com/AWSEC2/最新/用戶指南/benchmark_piops.html
這篇關(guān)于SQL Server - EBS 存儲(chǔ)設(shè)計(jì)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!