测试工具
本文性能测试使用的是 HammerDB 内置的 TPC-C 基准测试负载。TPC-C 是一种典型的 OLTP 工作负载,其模拟了拥有多个仓库的商品批发销售公司为大量客户发货商品的场景,其中仓库数的调整在测试中能够体现数据库所能够支持的数据规模能力。
测试环境和参数
测试实例版本
测试版本覆盖2008R2企业版、2012企业版、2014企业版、2016企业版、2017企业版、2019企业版、2022企业版。
测试实例规格
双节点(原高可用版)
双节点(原高可用版)测试规格覆盖当前售卖的所有规格,包括1核2GB、1核4GB、1核8GB、2核4GB、2核8GB、2核16GB、4核8GB、4核16GB、4核32GB、8核16GB、8核32GB、8核64GB、12核24GB、12核48GB、12核96GB、16核32GB、16核64GB、16核128GB、24核48GB、24核96GB、24核192GB 、32核64GB、32核128GB、32核256GB、48核96GB、48核192GB、48核384GB、64核128GB、64核256GB、64核512GB、90核720GB。
单节点(原基础版)
单节点(原基础版)测试规格覆盖当前售卖的所有规格,包括1核2GB、1核4GB、2核4GB、2核8GB、 4核8GB、4核16GB、8核16GB、8核32GB、16核32GB 、16核64GB、24核48GB、24核96GB。
负载生成环境
安装 HammerDB 的机器,与数据库实例型号一致,能保证充分压测出 SQL Server 实例性能。
TPCC 基准参数
Number of Warehouses = 100:设置仓库个数为100。
Minutes of Rampup Time = 2:设置测试前预热时间为2分钟。
Minutes Test Duration = 5:设置测试时间为5分钟。
虚拟用户数
虚拟用户数即并发连接数,本文分别在不同版本不同规格的实例上,测试了不同的并发连接数。
双节点(原高可用版)
并发连接数 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
1核2GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - |
1核4GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - |
1核8GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - |
2核4GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
2核8GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
2核16GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
4核8GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
4核16GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
4核32GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
8核16GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
8核32GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
8核64GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
12核24GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
12核48GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
12核96GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
16核32GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
16核64GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
16核128GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
24核48GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
24核96GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
24核192GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
32核64GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
32核128GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
32核256GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
48核96GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
48核192GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
48核384GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
64核128GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
64核256GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
64核512GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
90核720GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
单节点(原基础版)
并发连接数 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
1核2GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - |
1核4GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - |
2核4GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
2核8GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
4核8GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
4核16GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
8核16GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
8核32GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
16核32GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
16核64GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
24核48GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
24核96GB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
测试方法
1. 准备 TPC-C 工作负载。
Number of Warehouses:仓库个数,将影响生成测试库的大小。
Virtual Users to Build Schema:生成负载数据时的并发连接数(不能超过仓库个数),大小将影响负载数据生成效率,建议与生成负载设备 CPU 核心数保持一致。
2. 设置测试脚本。
Total Transactions per User:每个用户的总事务数。建议设置较高的值保证在压测时,User 不会因为事务运行完而退出。
Minutes of Rampup Time:压测预热时间。
Minutes for Test Duration:压测运行时间。
3. 设置自动化测试脚本。
Minutes per Test in Virtual User Sequence:自动化测试的间隔时间,在这个时间内程序要完成创建虚拟用户、预热、运行测试、停止测试等工作。设置时间需比 Minutes of Rampup Time + Minutes for Test Duration 长。
Active Virtual User Sequence (Space Separated):自动化测试每一次迭代产生的虚拟用户数,虚拟用户数可以理解为并发连接数。
4. 在左侧选择 Autopilot > Autopilot 开始测试。
5. 测试结果输出在 hammerdb.log 文件中。
测试结果
说明
HammerDB 中的 TPM 通过 SQL Server 性能计数器 batch requests/sec 获得,因此 TPM 实际上是指 batch requests per minute。
每个规格的测试数据集大小均大于该规格的内存大小。
由于每次压测结果可能会存在波动,以下压测结果仅供参考。
双节点(增强型 SSD 云硬盘)
双节点(增强型 SSD 云硬盘)各版本性能对比趋势图
双节点(增强型 SSD 云硬盘)各版本 TPM 性能对比值
双节点(增强型 SSD 云硬盘)实例规格 | 并发连接数 | 2008R2企业版 | 2012企业版 | 2014企业版 | 2016企业版 | 2017企业版 | 2019企业版 | 2022企业版 |
2核4GB | 256 | 352239 | 262042 | 280212 | 286968 | 303026 | 219429 | 201678 |
2核8GB | 256 | 377076 | 288812 | 311882 | 304311 | 332601 | 263390 | 255636 |
2核16GB | 256 | 388685 | 293021 | 322642 | 336443 | 344545 | 386888 | 289641 |
4核8GB | 256 | 458636 | 393323 | 389012 | 408183 | 509896 | 438410 | 403975 |
4核16GB | 256 | 540709 | 409963 | 410222 | 423021 | 642954 | 514925 | 419346 |
4核32GB | 256 | 623564 | 428425 | 428862 | 488802 | 692582 | 578395 | 432027 |
8核16GB | 256 | 933452 | 721646 | 725086 | 824979 | 1196618 | 817838 | 715547 |
8核32GB | 256 | 1004120 | 748527 | 751189 | 848024 | 1294605 | 893066 | 758711 |
8核64GB | 256 | 1159254 | 806337 | 801032 | 866793 | 1292605 | 938902 | 816439 |
12核24GB | 512 | 1198194 | 1024785 | 1166112 | 1316035 | 1341090 | 1203259 | 1081658 |
12核48GB | 512 | 1257225 | 1156326 | 1242539 | 1342146 | 1347441 | 1246181 | 1177039 |
12核96GB | 512 | 1278163 | 1264625 | 1262306 | 1357239 | 1384425 | 1339784 | 1238884 |
16核32GB | 512 | 1298662 | 1275058 | 1323309 | 1416524 | 1400905 | 1507403 | 1380005 |
16核64GB | 512 | 1302512 | 1285033 | 1382275 | 1615427 | 1538581 | 1573128 | 1487819 |
16核128GB | 512 | 1312663 | 1350118 | 1452141 | 1683900 | 1788873 | 1599843 | 1555526 |
24核48GB | 1024 | 1275539 | 1538106 | 1545238 | 1740442 | 1884856 | 2023341 | 1863752 |
24核96GB | 1024 | 1287150 | 1560003 | 1569981 | 1831271 | 1859375 | 2160272 | 2020197 |
24核192GB | 1024 | 1321485 | 1565067 | 1577023 | 1921253 | 1890143 | 2217460 | 2106732 |
32核64GB | 1024 | 1416006 | 1562021 | 1577873 | 2018539 | 2179611 | 2293341 | 2184033 |
32核128GB | 1024 | 1533686 | 1563443 | 1590213 | 2138102 | 2373436 | 2487950 | 2331867 |
32核256GB | 1024 | 1571679 | 1575837 | 1612420 | 2215074 | 2430662 | 2680554 | 2637818 |
48核96GB | 1024 | 1868288 | 1614482 | 1648078 | 2355156 | 2419828 | 2714951 | 2704403 |
48核192GB | 1024 | 2117315 | 1632638 | 1660248 | 2398103 | 2524866 | 2806729 | 2778912 |
48核384GB | 1024 | 2211281 | 1671979 | 1688813 | 2489417 | 2612611 | 3137898 | 2968912 |
64核128GB | 1024 | 2316704 | 1821545 | 1829664 | 2545152 | 2653252 | 3306069 | 3379483 |
64核256GB | 1024 | 2357315 | 1834979 | 1851950 | 2694004 | 2725555 | 3430230 | 3481087 |
双节点(原高可用版-本地 SSD)
双节点(原高可用版-本地 SSD)各版本性能对比趋势图
双节点(原高可用版-本地 SSD)各版本 TPM 性能对比值
双节点(原高可用版)实例规格 | 并发连接数 | 2008R2企业版 | 2012企业版 | 2014企业版 | 2016企业版 | 2017企业版 | 2019企业版 |
1核2GB | 256 | 279798 | 229854 | 261396 | 219142 | 201851 | 181198 |
1核4GB | 256 | 284680 | 234401 | 288282 | 222796 | 202510 | 268330 |
1核8GB | 256 | 269039 | 236773 | 303002 | 219676 | 208685 | 300385 |
2核16GB | 256 | 368366 | 333797 | 446344 | 336843 | 331650 | 390546 |
4核32GB | 256 | 657641 | 608801 | 621186 | 665065 | 625370 | 670666 |
8核64GB | 256 | 1164062 | 1020500 | 924915 | 1070826 | 1102296 | 1007612 |
12核96GB | 1024 | 1348121 | 1266868 | 1153585 | 1337473 | 1325010 | 1367211 |
16核128GB | 1024 | 1357678 | 1385158 | 1260322 | 1705660 | 1716818 | 1629583 |
24核192GB | 1024 | 1226621 | 1500900 | 1406203 | 2261815 | 1950871 | 2198697 |
32核256GB | 1024 | 1401600 | 1526762 | 1462100 | 2280252 | 2520856 | 2771797 |
48核384G | 1024 | 2127159 | 1486582 | 1637912 | 2806496 | 2683302 | 3358182 |
64核512G | 1024 | 2136500 | 1512763 | 1789105 | 2630581 | 2814599 | 3635133 |
90核720G | 1024 | 2205323 | 1602736 | 1813094 | 2948427 | 3391680 | 4579980 |
单节点(原基础版-高性能云盘)
单节点(原基础版-高性能云盘)各版本性能对比趋势图
单节点(原基础版-高性能云盘)各版本 TPM 性能对比值
单节点(原基础版)实例规格 | 并发连接数 | 2008R2企业版 | 2012企业版 | 2014企业版 | 2016企业版 | 2017企业版 | 2019企业版 |
1核2GB | 256 | 271822 | 201348 | 239864 | 155318 | 180204 | 181062 |
1核4GB | 256 | 271311 | 224851 | 263445 | 206871 | 218065 | 226523 |
2核4GB | 256 | 300573 | 286984 | 349251 | 301520 | 282145 | 280967 |
2核8GB | 256 | 343630 | 312184 | 379705 | 315539 | 304840 | 331574 |
4核8GB | 256 | 569589 | 557047 | 567886 | 464900 | 457702 | 507047 |
4核16GB | 256 | 578367 | 560981 | 602897 | 504379 | 537819 | 592712 |
8核16GB | 256 | 968175 | 977350 | 866079 | 705806 | 812833 | 871512 |
8核32GB | 256 | 974293 | 945406 | 890642 | 734445 | 842877 | 895221 |
16核32GB | 1024 | 965995 | 1033233 | 1008835 | 993027 | 1007447 | 1056011 |
16核64GB | 1024 | 1017271 | 1122514 | 1064300 | 1075603 | 1100160 | 1147242 |
24核48G | 1024 | 912623 | 1055985 | 1045071 | 1129963 | 1139872 | 1203012 |
24核96G | 1024 | 954747 | 1061295 | 1044175 | 1184654 | 1147836 | 1315849 |
单节点(原基础版-云 SSD)
单节点(原基础版-云 SSD)各版本性能对比趋势图
单节点(原基础版-云 SSD)各版本TPM性能对比值
单节点(原基础版)实例规格 | 并发连接数 | 2008R2企业版 | 2012企业版 | 2014企业版 | 2016企业版 | 2017企业版 | 2019企业版 |
1核2GB | 256 | 277486 | 212148 | 268084 | 209753 | 198943 | 188967 |
1核4GB | 256 | 287696 | 230418 | 261590 | 210630 | 207538 | 236449 |
2核4GB | 256 | 329331 | 307056 | 395540 | 312891 | 311241 | 301509 |
2核8GB | 256 | 351604 | 314275 | 434242 | 325675 | 324843 | 371492 |
4核8GB | 256 | 582886 | 574929 | 585404 | 550150 | 464908 | 551348 |
4核16GB | 256 | 600462 | 599149 | 596735 | 664131 | 505928 | 638924 |
8核16GB | 256 | 1053565 | 987506 | 889740 | 708025 | 824114 | 957938 |
8核32GB | 256 | 1104104 | 1009945 | 903942 | 767060 | 892721 | 995933 |
16核32GB | 1024 | 1224515 | 1193629 | 1118041 | 1009075 | 1123299 | 1088041 |
16核64GB | 1024 | 1230516 | 1200651 | 1136268 | 1052159 | 1156376 | 1081471 |
24核48G | 1024 | 1145090 | 1080964 | 1099758 | 1155533 | 1187867 | 1269441 |
24核96G | 1024 | 1200990 | 1040499 | 1108077 | 1243883 | 1262611 | 1377183 |