• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

Computer Engineering & Science ›› 2023, Vol. 45 ›› Issue (12): 2165-2174.

• Software Engineering • Previous Articles     Next Articles

ShadowDB: A SQL engine based traffic-split system for full-link stress test

JIANG Jun1,LI Wen-hui1,ZAHNG Liang2,WANG Shan-min2,LI Rui-yuan1   

  1. (1.College of Computer Science,Chongqing University,Chongqing 400044; 2.SphereEx Laboratory,Beijing 100010,China)
  • Received:2022-12-08 Revised:2023-04-15 Accepted:2023-12-25 Online:2023-12-25 Published:2023-12-14

Abstract: Full-link stress test, as an emerging software testing technique, performs stress tests in the production system directly. It aims at evaluating the performance of online systems accurately. Traffic-split techniques based on shadow databases can guarantee the production data not to be polluted during the process of full-link stress test. Based on SQL engine, this paper designs and implements a complete open-source traffic-split system, named ShadowDB, for full-link stress test. The main idea of ShadowDB is to split the traffic of user requests through a SQL parser and a SQL router. Currently, ShadowDB can correctly distribute all SQL statements of six different kinds of relational database management systems. Furthermore, it can support two traffic-split algorithms, i.e., column-based shadow algorithm and hint-based shadow algorithm. ShadowDB implements all of the interfaces of JDBC, enabling online systems to incorporate it without any change. ShadowDB can be embedded in the application programs, thus it do not forward the requests through networks, which has the minimal impact on the request efficiency and guarantees the reliability of full-link stress test. Extensive experiments wire conducted based on two widely-used benchmarking tools. The experimental results show that ShadowDB performs much better than the comparing systems.


Key words: full-link stress test, SQL engine, traffic split, shadow database ,