扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在插入负载填充数据库之后,对数据库执行一个只读的工作负载。这个工作负载由 7 个 XML 查询组成,使用 25、50、75、100、125 和 150 个并发用户以不同的并发度执行。测试的时间长度是这 6 个测试各运行一个小时。
7 个查询都具有以下特征:
表 5 显示这 7 个查询的特征差异和它们涉及的表。
Q | 查询名 | CustAcc | Security | Order | 特征 |
---|---|---|---|---|---|
1 | get_order | - | - | X | 返回完整的订单文档,但是没有 FIXML 根元素。 |
2 | get_security | - | X | - | 返回完整的证券文档。 |
3 | customer_profile | X | - | - | 提取 7 个客户元素来构造概况文档。 |
4 | search_securities | - | X | - | 根据 4 个谓词从一些证券中提取元素。 |
5 | account_summary | X | - | - | 构造一个帐号说明。 |
6 | get_security_price | - | X | - | 提取一种证券的价格。 |
7 | customer_max_order | X | - | X | 联结 CustAcc 和订单,寻找一位客户的最大订单。 |
与只读工作负载相似,混合工作负载针对填充的 600 万个 CustAcc 文档和 3000 万个订单执行,并使用 25、50、75、100、125 和 150 个并发用户产生不同的并发度。测试的时间长度是每个测试各运行一个小时。
混合工作负载由以下操作组成:
查询与上面的只读工作负载中的查询完全一样,下面是定义更新/删除/插入事务时考虑的情况:
通过考虑这些目标,产生了表 6 所示的事务组合。
# | 名称 | 类型 | 占总量的百分比 |
---|---|---|---|
1 | get_order | 查询 | 10 |
2 | get_security | 查询 | 10 |
3 | customer_profile | 查询 | 10 |
4 | search_securities | 查询 | 10 |
5 | account_summary | 查询 | 10 |
6 | get_security_price | 查询 | 10 |
7 | customer_max_order | 查询 | 10 |
8 | upd_custacc | 更新 | 3 |
9 | upd_security | 更新 | 3 |
10 | del_custacc | 删除 | 2 |
11 | del_order | 删除 | 10 |
12 | insert_custacc | 插入 | 2 |
13 | Insert_order | 插入 | 10 |
更新事务首先根据一个 XQuery 谓词读取一个特定文档,然后使用它更新数据库中这个文档的原副本。在实际情况下,在读取和更新步骤之间会更新文档,但是这与本文的目的没什么关系,因此为了简化省略了这个步骤。
在执行插入时不进行 XML 模式检验。
更新和删除操作所针对的文档是在数据库中随机选择的。每个新插入的订单和 CustAcc 文档马上可以被后续的事务更新或删除。
数据库设置和所有工作负载不间断地连续执行。23 小时的不间断系统测试的结果见表 7。
任务 | 花费的时间(分钟) | 解释/说明 |
---|---|---|
创建数据库和更新数据库配置 | 1 | - |
插入工作负载 | 160 | 所有阶段的总时间 |
在表和索引上运行 stats | 340 | 时间的分布如下: 22 分 - 证券 2 小时 45 分 - CustAcc 2 小时 54 分 - 订单 |
数据库备份 | 23 | - |
查询和混合工作负载 | 825 | 这两个工作负载都使用 25、50、75、100、125 和 150 个用户运行 |
数据库恢复 | 17.5 | - |
其他 | ~15 | 其他各种任务 |
总时间 | ~1380 | 总运行时间为 23 小时 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者