新时期数据管理技术

Woodpecker+:基于数据特征的自定义负载性能评测

  • 张涛 ,
  • 张小磊 ,
  • 李宇明 ,
  • 张春熙 ,
  • 张蓉
展开
  • 华东师范大学 数据科学与工程学院, 上海 200062
张涛,男,硕士研究生.研究方向为数据库基准测试.E-mail:zhangtao1906@163.com.

收稿日期: 2019-07-28

  网络出版日期: 2019-10-11

基金资助

国家重大专项(2018YFB1003404);国家自然科学基金(61432006)

Woodpecker+: Customized workload performance evaluation based on data characteristics

  • ZHANG Tao ,
  • ZHANG Xiao-lei ,
  • LI Yu-ming ,
  • ZHANG Chun-xi ,
  • ZHANG Rong
Expand
  • School of Data Science and Engineering, East China Normal Univeristy, Shanghai 200062, China

Received date: 2019-07-28

  Online published: 2019-10-11

摘要

数据库的性能评测随着复杂多样的应用出现变得更加重要.在很多情况下,研究、开发人员的性能评估工作受限于负载的缺乏.虽然OLTP-Bench通用数据库性能测试框架在一定程度上提高了性能测试的效率,但由于标准Benchmark负载固定且针对用户多样的应用场景的代表性差,故无法精准地满足不同应用的系统性能;此外,大部分测试框架使用高级编程语言支持为应用编写测试负载,不仅增加测试负担还会引入大量重复性工作,导致测试效率低下.本文设计并实现了一个用户自定义性能测试负载的工具:Woodpecker+.该工具的主要贡献为:易于使用和可拓展、提供了可高效构造测试案例、做测试安排的测试定义语言(TDL)、可灵活控制事务执行模式及数据访问分布、实现了轻量级的细粒度统计信息收集与分析、支持多种主流数据库系统DBMS及提供数据库访问接口的其他数据库.通过一组详细的运行在主流DBMS上的自定义负载实验来验证Woodpecker+的特性.

本文引用格式

张涛 , 张小磊 , 李宇明 , 张春熙 , 张蓉 . Woodpecker+:基于数据特征的自定义负载性能评测[J]. 华东师范大学学报(自然科学版), 2019 , 2019(5) : 190 -202 . DOI: 10.3969/j.issn.1000-5641.2019.05.016

Abstract

There are a number of performance testing tools, like Sysbench and OLTPBench, that can be used to benchmark the testing of database performance. However, because the standard benchmark workload is fixed and application scenarios for users are not always representative, it is impossible to accurately determine system performance. Moreover, if users are required to use a high-level programming language to implement a test workload separately for each application, this will undoubtedly introduce a substantial amount of repetitive work, resulting in inefficient testing. To address these issues, this paper designs and implements a user-defined performance test workload tool. The main benefits of this tool can be summarized as follows:It is easy to use and expandable; it provides a test definition language (TDL) for efficient construction of test cases; and it offers flexible control for mixed execution of transactions, data access distribution, lightweight and granular statistical information collection and analysis, and support for multiple mainstream DBMSs and other databases that provide database access interfaces. We highlight the tool's features through a detailed set of customized workload experiments running on the mainstream DBMS.

参考文献

[1] GEORGE L. HBase:The Definitive Guide:Random Access to Your Planet-Size Data[M]. CA:O'Reilly Media, 2011.
[2] STONEBRAKER M, WEISBERG A. The VoltDB Main Memory DBMS[J]. IEEE Data Eng Bull, 2013, 36(2):21-27.
[3] NVM[EB/OL].[2019-01-14]. https://en.wikipedia.org/wiki/NVM.
[4] ORACLE. The MySQL Test Framework[EB/OL].[2017-07-12]. https://dev.mysql.com/doc/mysqltest/2.0/en/.
[5] SysBench:A system performance benchmark[EB/OL].[2019-01-14]. https://sysbench.sourceforge.net.
[6] DIFALLAH D E, PAVLO A, CURINO C, et al. OLTP-Bench:An extensible testbed for benchmarking relational databases[J]. Proceedings of the VLDB Endowment, 2013, 7(4):277-288.
[7] ECNU[EB/OL]. Woodpecker.[2019-01-14]. https://github.com/Gizing/Woodpecker.
[8] Transaction Processing Performance Council (TPC)[EB/OL].[2019-01-14]. http://www.tpc.org.2011.
[9] COOPER B F, SILBERSTEIN A, TAM E, et al. Benchmarking cloud serving systems with YCSB[C]//Proceedings of the 1st ACM symposium on Cloud computing, New York:ACM, 2010:143-154.
[10] CAHILL M J, ROHM U, FEKETE A D. Serializable isolation for snapshot databases[J]. ACM Transactions on Database Systems, 2009, 34(4):1-42.
[11] KODAGANALLUR V. Incorporating language processing into Java applications:A JavaCC tutorial[J]. IEEE Software, 2004, 21(4):70-77.
[12] Nmon for Linux[EB/OL].[2019-01-14]. http://nmon.sourceforge.net/pmwiki.php.
[13] CBASE. Bank of Communications[EB/OL].[2019-01-14]. https://github.com/BankOfCommunications/CBASE.
[14] YAN C, CHEUNG A. Leveraging lock contention to improve OLTP application performance[J]. Proceedings of the Vldb Endowment, 2016, 9(5):444-455.
[15] 杨传辉.大规模分布式存储系统原理解析与架构实现[M].北京:机械工业出版社, 2013.
[16] Two-phase commit protocol[EB/OL].[2019-01-14]. https://en.wikipedia.org/wiki/Two-phasecommitprotocol.
文章导航

/