ပြီးခဲ့တဲ့လက AMD ဟာ သူ့ရဲ့ ဒုတိယမျိုးဆက် EPYC Processors ဖြစ်တဲ့ AMD EPYC 7002 ကို EPYC Rome အဖြစ်လည်း လူသိများတဲ့ AMD EPYC 7002 ကို မိတ်ဆက်ခဲ့ပါတယ် ။ Intel နဲ့ ယှဉ်ရင် စွမ်းဆောင်ရည် ပိုကောင်းမယ်လို့ ကတိပေးတဲ့အတွက် ဒီ CPU အသစ်တွေကို လုပ်ငန်းနယ်ပယ်က အပြင်းအထန် လက်ခံလာကြပြီး single socket Rome နဲ့ dual socket Intel နှစ်မျိုးလုံးမှာတောင် ပိုကောင်းတဲ့ စွမ်းဆောင်ရည်ကို ပေးစွမ်းနိုင်ပါတယ်။ AMD ရဲ့ စွမ်းဆောင်ရည်ကို သက်သေပြတဲ့ ဖြ န့်ချိမှုနေ့အတွက် သုံးသပ်ချက် တစ်ခု ပြုလုပ်ခဲ့ပါတယ် ။ အခု GIGABYTE platform တစ်ခုတည်းကိုပဲ အသုံးပြုပြီး AMD EPYC 7002 CPU အမျိုးမျိုး (7702P, 7402P, နဲ့ 7302P) ကို စမ်းသပ်ကြည့်ပါမယ်။
စတင်အသုံးပြုချိန်မှာ VMware ဟာ CPU အသစ်တွေကို အပြည့်အဝ မထောက်ပံ့သေးပေမယ့် ( အခု vSphere 6.7 U3 က ထောက်ပံ့ပေးနေပါပြီ ) ကျွန်တော်တို့ ပုံမှန်လုပ်ဆောင်နေကျ စမ်းသပ်မှုတွေကိုတော့ မလုပ်ဆောင်နိုင်ခဲ့ပါဘူး။ ဒါ့အပြင် AMD ဟာ core နဲ့ thread အပါအဝင် အကျိုးကျေးဇူးအမျိုးမျိုးရှိတဲ့ မော်ဒယ်နံပါတ် ၁၉ ခုကို ထုတ်ပြန်ခဲ့ပါတယ်။ ဖြစ်နိုင်ချေရှိတဲ့ ကွဲပြားမှုတိုင်းကို စမ်းသပ်မယ့်အစား ဒီသုံးသပ်ချက်အတွက် VMware ပတ်ဝန်းကျင်မှာ CPU သုံးခုကို စမ်းသပ်ဖို့ ဆုံးဖြတ်ခဲ့ပါတယ်။ ဒီကိစ္စမှာ AMD EPYC 7702P၊ AMD EPYC 7402P နဲ့ AMD EPYC 7302P တို့ကို အသုံးပြုနေပါတယ်။ ဒါက “ဘယ်ဟာက ပိုကောင်းလဲ” ဆိုတဲ့ သုံးသပ်ချက်မျိုး မဟုတ်ပါဘူး။ core အရေအတွက် ပိုများတဲ့ တစ်ခုက အများစုမှာ ပိုကောင်းတဲ့ စွမ်းဆောင်ရည်ကို ပြသဖို့ ရည်ရွယ်ပါတယ်။ နောက်ဆုံးပေါ် EPYC CPU တွေနဲ့ AMD ဘာတွေ ပေးစွမ်းနိုင်လဲဆိုတာကို ပြသဖို့ ရည်ရွယ်ပါတယ်။
စမ်းသပ် platform မှာ Gigabyte R272-Z32 ပါဝင်ပြီး အသေးစိတ်အချက်အလက်တွေအတွက် ကျွန်တော်တို့ရဲ့ ယခင် review လင့်ခ်ကို နှိပ်လိုက်ရုံပါပဲ ။ တစ်ခုတည်းသော ကွာခြားချက်ကတော့ Sysbench အတွက် RAM 512GB ကို အသုံးပြုထားတာဖြစ်ပြီး 8VM တွေရဲ့ footprint အတွက် လိုအပ်ပါတယ်။ platform မှာ 12 Micron NVMe SSD တွေကို ထည့်သွင်းထားဆဲဖြစ်ပြီး SQL test မှာ NVMe drive ၄ ခုနဲ့ Sysbench test မှာ NVMe drive ၈ ခုကို အသုံးပြုထားပါတယ်။ hypervisor အတွက်ကတော့ မကြာသေးမီက ထွက်ရှိထားတဲ့ VMware ESXi 6.7 Update 3 ကို အသုံးပြုထားပါတယ်။
CPU တွေအကြောင်း နည်းနည်းပိုနက်နက်ရှိုင်းရှိုင်းကြည့်ရရင် AMD EPYC 7702P မှာ 64 cores နဲ့ 128 threads ပါဝင်ပြီး base GHz 2.0 ရှိပါတယ်။ 7402P မှာ 24 cores, 48 threads နဲ့ base frequency 2.8GHz ရှိပါတယ်။ 7302P မှာ 16 cores, 32 threads နဲ့ base frequency 3GHz ရှိပါတယ်။ Core အရေအတွက်နဲ့ clock speed တွေက အဓိကကွာခြားချက်တွေပါ။ Sysbench က CPU စွမ်းဆောင်ရည်စုစုပေါင်း (clockspeed x core count ကိုစဉ်းစားပါ) ကို တိုင်းတာတဲ့ စံနှုန်းတစ်ခုဖြစ်ပြီး SQL Server ကတော့ အနည်းဆုံးလိုအပ်ချက်တွေကို ဖြည့်ဆည်းပေးဖို့ဖြစ်ပြီး လုပ်နိုင်ရင် ကောင်းကောင်းလုပ်ဆောင်နိုင်ပါတယ်။ ကျွန်တော်တို့ရဲ့ ဇယားအားလုံးမှာ CPU တစ်ခုစီရဲ့ စုစုပေါင်း compute speed ကို ထည့်သွင်းထားပါတယ်။
performance
SQL Server စွမ်းဆောင်ရည်
StorageReview ရဲ့ Microsoft SQL Server OLTP စမ်းသပ်ခြင်း protocol ဟာ ရှုပ်ထွေးတဲ့ application environment တွေမှာတွေ့ရတဲ့ လုပ်ဆောင်ချက်တွေကို တုပပြသတဲ့ online transaction processing benchmark တစ်ခုဖြစ်တဲ့ Transaction Processing Performance Council ရဲ့ Benchmark C (TPC-C) ရဲ့ လက်ရှိမူကြမ်းကို အသုံးပြုထားပါတယ်။ TPC-C benchmark ဟာ database environment တွေမှာ storage infrastructure ရဲ့ performance strengths နဲ့ bottlenecks တွေကို တိုင်းတာတာနဲ့ synthetic performance benchmarks တွေထက် ပိုနီးစပ်ပါတယ်။
SQL Server VM တစ်ခုစီကို vDisk နှစ်ခုဖြင့် configure လုပ်ထားသည်- boot အတွက် 100GB volume နှင့် database နှင့် log files အတွက် 500GB volume။ system resource ရှုထောင့်မှကြည့်လျှင် VM တစ်ခုစီကို vCPU ၁၆ ခု၊ DRAM 64GB ဖြင့် configure လုပ်ထားပြီး LSI Logic SAS SCSI controller ကို အသုံးချထားသည်။ ကျွန်ုပ်တို့၏ Sysbench workload သည် storage I/O နှင့် capacity နှစ်မျိုးလုံးတွင် platform ကို ပြည့်နှက်စေသော်လည်း SQL စမ်းသပ်မှုသည် latency စွမ်းဆောင်ရည်ကို ရှာဖွေသည်။
ဤစမ်းသပ်မှုသည် Windows Server 2012 R2 guest VM များတွင် လည်ပတ်နေသော SQL Server 2014 ကို အသုံးပြုပြီး Quest Software ၏ ဒေတာဘေ့စ်များအတွက် Benchmark Factory မှ အလေးပေးဖော်ပြထားသည်။ ဤ benchmark ကို ကျွန်ုပ်တို့၏ ရိုးရာအသုံးပြုမှုမှာ local သို့မဟုတ် shared storage တွင် ကြီးမားသော 3,000-scale ဒေတာဘေ့စ်များကို စမ်းသပ်ရန်ဖြစ်သော်လည်း၊ ဤ iteration တွင် ကျွန်ုပ်တို့၏ server များတစ်လျှောက် 1,500-scale ဒေတာဘေ့စ်လေးခုကို ညီတူညီမျှ ဖြန့်ကျက်ရန် အာရုံစိုက်ပါသည်။
SQL Server စမ်းသပ်ခြင်း ပုံစံ (VM တစ်ခုချင်းစီ)
- Windows Server 2012 R2
- သိုလှောင်မှုပမာဏ- 600GB ခွဲဝေထားပြီး 500GB အသုံးပြုပြီး
- SQL Server 2014
- ဒေတာဘေ့စ်အရွယ်အစား: ၁၅၀၀ စကေး
- Virtual Client ဝန်: ၁၅၀၀၀
- RAM ဘာဖာ: 48GB
- စမ်းသပ်ချိန်: ၃ နာရီ
- ၂.၅ နာရီ ကြိုတင်ပြုပြင်ခြင်း
- နမူနာကာလ ၃၀ မိနစ်
4VM များကိုအသုံးပြုသော ကျွန်ုပ်တို့၏ transactional SQL Server အတွက် 7702P သည် တစ်ဦးချင်း VM များ၏ TPS 3,157.9 မှ 3,159.7 TPS အထိရှိသော စုစုပေါင်းရမှတ် 12,634.5 TPS ကို တွေ့ရှိခဲ့သည်။ 7402P တွင် တစ်ဦးချင်း VM များ၏ TPS 3,157.9 မှ 3,159.8 TPS အထိရှိသော စုစုပေါင်း TPS 12,634.6 နီးပါးရှိသည်။ 7302P တွင် တစ်ဦးချင်း VM များ၏ TPS 2,006 မှ 2,671 TPS အထိရှိသော စုစုပေါင်းရမှတ် 9,397.6 TPS ကို တွေ့ရှိခဲ့သည်။
SQL Server ပျမ်းမျှ latency အတွက် 7702P သည် တစ်ဦးချင်း VM များတွင် 4ms မှ 6ms အထိရှိသော စုစုပေါင်းရမှတ် 5ms ရှိသည်။ 7402P သည် 3ms မှ 6ms အထိရှိသော VM များတွင် စုစုပေါင်းရမှတ် 5.25ms ရှိသည်။ 7302P သည် တစ်ဦးချင်း VM များတွင် 872ms မှ 2,736ms အထိရှိသော စုစုပေါင်းရမှတ် 1,712ms ရှိသည်။
Sysbench MySQL စွမ်းဆောင်ရည်
ကျွန်ုပ်တို့၏ Percona MySQL OLTP ဒေတာဘေ့စ်ကို SysBench မှတစ်ဆင့် တိုင်းတာခဲ့သည်။ ဤစမ်းသပ်မှုသည် ပျမ်းမျှ TPS (တစ်စက္ကန့်လျှင် ငွေပေးငွေယူပြုလုပ်မှု)၊ ပျမ်းမျှ latency နှင့် ပျမ်းမျှ 99th percentile latency တို့ကိုလည်း တိုင်းတာသည်။
Sysbench VM တစ်ခုစီကို vDisk သုံးခုဖြင့် configure လုပ်ထားသည်- တစ်ခုမှာ boot အတွက် (~92GB)၊ တစ်ခုမှာ pre-built database (~447GB) နှင့် တတိယတစ်ခုမှာ test under database (270GB) ဖြစ်သည်။ system resource ရှုထောင့်မှကြည့်လျှင် VM တစ်ခုစီကို vCPU ၁၆ ခု၊ DRAM 60GB ဖြင့် configure လုပ်ထားပြီး LSI Logic SAS SCSI controller ကို အသုံးချထားသည်။
Sysbench စမ်းသပ်ခြင်း ပုံစံ (VM တစ်ခုချင်းစီအတွက်)
- CentOS 6.3 64-bit
- Percona XtraDB 5.5.30-rel30.1
- ဒေတာဘေ့စ်ဇယားများ: ၁၀၀
- ဒေတာဘေ့စ်အရွယ်အစား: ၁၀,၀၀၀,၀၀၀
- ဒေတာဘေ့စ် ချည်နှောင်မှုများ: ၃၂
- RAM ဘာဖာ: 24GB
- စမ်းသပ်ချိန်: ၃ နာရီ
- ၂ နာရီကြာ ကြိုတင်ပြင်ဆင်မှု ၃၂ ခု
- ၁ နာရီ ၃၂ ကြိမ် ချည်နှောင်ထားသည်
Sysbench အတွက် ကျွန်ုပ်တို့ 8VM များကို စမ်းသပ်ခဲ့ပြီး 7702P အတွက် TPS 15,914၊ 7402P အတွက် TPS 3,369.3 နှင့် 7302P အတွက် TPS 2,261.3 ရရှိခဲ့ပါတယ်။
Sysbench ပျမ်းမျှ latency အတွက် 7702P အတွက် 16ms၊ 7402P အတွက် 76ms နှင့် 7302P အတွက် 113.3ms စုစုပေါင်းရမှတ်များကို ကျွန်ုပ်တို့တွေ့မြင်ခဲ့ရသည်။
ကျွန်ုပ်တို့၏ အဆိုးဆုံးအခြေအနေ (၉၉ ရာခိုင်နှုန်း) latency တွင် 7702P အတွက် 31.1ms၊ 7402P အတွက် 159.6ms နှင့် 7302P အတွက် 231.2ms ရမှတ်များကို ကျွန်ုပ်တို့ မြင်တွေ့ခဲ့ရသည်။
ကောက်ချက်
AMD EPYC 7002 သည် socket အနည်းငယ်ဖြင့် စွမ်းဆောင်ရည်ပိုမိုမြင့်မားလာမည်ဟု ကတိပြုထားသည်။ ယခုအခါ VMware သည် CPU အသစ်များကို အပြည့်အဝ ပံ့ပိုးပေးသောကြောင့် processor အသစ်များ၏ အလားအလာကို ပြသရန် ကျွန်ုပ်တို့၏ စမ်းသပ်မှုကို ဆက်လက်လုပ်ဆောင်ပါသည်။ ဤသုံးသပ်ချက်အတွက် ရိုးရာ VMware ပတ်ဝန်းကျင်တွင် AMD EPYC CPU သုံးခုကို စမ်းသပ်နိုင်ခဲ့ပါသည်။ ဤစမ်းသပ်မှုသည် မည်သည့်အရာက ပိုကောင်းသည်ကို ပြသရန်မဟုတ်ဘဲ core အရေအတွက် အများဆုံးရှိသော တစ်ခုက ပုံမှန်အားဖြင့် ပြသရန်ဖြစ်သည်။ ယင်းအစား စာဖတ်သူများ မည်သို့မျှော်လင့်ရမည်ကို သိရှိနိုင်စေရန်အတွက် ၎င်းတို့၏အသုံးပြုမှုအခြေအနေအတွက် မှန်ကန်သော processor ကို ပိုမိုကောင်းမွန်စွာ ရွေးချယ်နိုင်စေရန်အတွက် မတူညီသော CPU များကို စမ်းသပ်ခဲ့ပါသည်။
စွမ်းဆောင်ရည်အတွက် SQL Server နှင့် Sysbench နှစ်ခုလုံးတွင် AMD EPYC 7702P၊ AMD EPYC 7402P နှင့် AMD 7302P တို့ကို စမ်းသပ်ခဲ့ပါသည်။ SQL Server အတွက် VM ၄ ခုနှင့် NVMe drive ၄ ခုနှင့် Sysbench အတွက် VM ၈ ခုနှင့် NVMe drive ၈ ခုကို အသုံးပြုခဲ့ပါသည်။ 64 core 7702P သည် SQL စုစုပေါင်းရမှတ် 12,634 TPS နှင့် ပျမ်းမျှ latency 5ms ဖြင့် အကောင်းဆုံးစွမ်းဆောင်ရည်ရှိသူဖြစ်ပြီး Sysbench တွင် CPU သည် စုစုပေါင်း TPS 15,914၊ ပျမ်းမျှ latency 16ms နှင့် 99th percentile latency 31.1ms ဖြင့် တွေ့ရှိရသည်မှာ အံ့သြစရာမဟုတ်ပါ။ 7402P မှာ SQL ရမှတ် 12,634 TPS နဲ့ ပျမ်းမျှ latency 5.25ms ရှိပြီး Sysbench က processor ရမှတ် 3,369.3 TPS၊ ပျမ်းမျှ latency 76ms နဲ့ 99th percentile latency 159.6ms ပေးခဲ့ပါတယ်။ 16 core 7302P မှာ SQL ရမှတ် 9,397.6 TPS၊ ပျမ်းမျှ latency 1,712ms ရှိပြီး Sysbench အတွက် CPU မှာ 2,261.3 TPS၊ ပျမ်းမျှ latency 113.3ms နဲ့ 99th percentile latency 231.2ms ရှိခဲ့ပါတယ်။
အထက်ဖော်ပြပါ ရလဒ်များမှ မြင်တွေ့ရသည့်အတိုင်း AMD EPYC CPU မိသားစုသည် အထင်ကြီးစရာကောင်းနေဆဲဖြစ်သည်။ ထွက်ပေါ်လာသော EPYC ပလက်ဖောင်းအသစ်များတွင် ကျွန်ုပ်တို့၏ စမ်းသပ်မှုကို ဆက်လက်လုပ်ဆောင်ပြီး အပလီကေးရှင်းများ၏ အတိုင်းအတာကို တိုးချဲ့လာသည်နှင့်အမျှ ၎င်းတို့သည် ရိုးရာ Intel dual socket configuration များနှင့် မည်မျှကောင်းမွန်စွာ ပေါင်းစပ်ထားသည်ကို မြင်တွေ့ရခြင်းသည် စိတ်ဝင်စားစရာကောင်းပါသည်။ သို့သော် VMware vSAN ကဲ့သို့သော software defined use case များတွင် single processor system များကို ထိရောက်စွာ အသုံးပြုနိုင်စွမ်းသည် ပိုမိုအကျိုးသက်ရောက်မှုရှိမည်ဖြစ်ပြီး၊ license ကို CPU socket များနှင့် ချိတ်ဆက်ထားသည်။ ဤကိစ္စများတွင် AMD သည် ကုန်ကျစရိတ်နည်းပါးခြင်းအပြင် solution provider များအတွက် ပိုမိုတန်ဖိုးရှိသော အခွင့်အလမ်းများ ရှိပါသည်။




အမေဇုံ