Skip to main content

Analyze and Evaluate Database-Backed Web Applications with WTool

  • Conference paper
  • First Online:
Web and Big Data (APWeb-WAIM 2021)

Abstract

Web applications demand low latency. In database-backed web applications, the latency is sensitive to the efficiency of database access. Hence, previous works have proposed various techniques to optimize the database access performance. However, the effectiveness of these techniques remains unverified when being applied to real-world applications. The reason is twofold. First, the benchmarks used to evaluate the methods in the literature differ from the real applications. Second, the diversity of applications makes it hard to predict whether a specific application will benefit from a certain technique.

To this end, this paper presents WTool, a tool that can automatically analyze and evaluate the database access in a specific web application. It first collects SQL queries in the application, then extracts the information about queries for analysis purposes. Furthermore, WTool is also able to generate configurable benchmark scripts based on collected queries. The user can use the scripts to simulate the database access of a specific application for performance evaluation. To demonstrate the usage WTool, we analyze 16 open-source web applications. We introduce several simple optimizations based on the analysis and evaluate them by the generated benchmark scripts. The result shows that the query throughput can be improved by up to 7\(\times \).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Broadleaf. https://github.com/BroadleafCommerce/BroadleafCommerce. Accessed 18 Jun 2021

  2. eladmin. https://github.com/elunez/eladmin. Accessed 18 Jun 2021

  3. Febs-shiro. https://github.com/wuyouzhuguli/FEBS-Shiro. Accessed 18 Jun 2021

  4. Forestblog. https://github.com/saysky/ForestBlog. Accessed 18 Jun 2021

  5. forum. https://github.com/fanchaoo/forum. Accessed 18 Jun 2021

  6. halo. https://github.com/halo-dev/halo. Accessed 18 Jun 2021

  7. Hotcrp. https://hotcrp.com/. Accessed 18 Jun 2021

  8. hsweb-framework. https://github.com/hs-web/hsweb-framework. Accessed 18 Jun 2021

  9. jeesite. https://github.com/thinkgem/jeesite. Accessed 18 Jun 2021

  10. litemall. https://github.com/linlinjava/litemall. Accessed 18 Jun 2021

  11. Myrocks. https://myrocks.io/. Accessed 18 Jun 2021

  12. Poplar. https://github.com/lvwangbeta/Poplar. Accessed 18 Jun 2021

  13. Publiccms. https://github.com/sanluan/PublicCMS. Accessed 18 Jun 2021

  14. pybbs. https://github.com/tomoya92/pybbs. Accessed 18 Jun 2021

  15. Rocksdb. https://rocksdb.org/. Accessed 18 Jun 2021

  16. sagan. https://github.com/spring-io/sagan. Accessed 18 Jun 2021

  17. shopizer. https://github.com/shopizer-ecommerce/shopizer. Accessed 18 Jun 2021

  18. spring-framework. https://github.com/spring-projects/spring-framework. Accessed 18 Jun 2021

  19. Springblog. https://github.com/Raysmond/SpringBlog. Accessed 18 Jun 2021

  20. sysbench. https://github.com/akopytov/sysbench. Accessed 18 Jun 2021

  21. xmall. https://github.com/Exrick/xmall. Accessed 18 Jun 2021

  22. Tpc benchmarks. http://www.tpc.org/information/benchmarks.asp (2001–2019). Accessed 18 Jun 2021

  23. Forrester Consulting on behalf of Akamai Technologies, I.: ecommerce web site performance today: an updated look at consumer reaction to a poor online shopping experience. White paper (2009)

    Google Scholar 

  24. Bailis, P., Fekete, A., Franklin, M.J., Ghodsi, A., Hellerstein, J.M., Stoica, I.: Feral concurrency control: an empirical investigation of modern application integrity. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, pp. 1327–1342. SIGMOD 2015, Association for Computing Machinery, New York (2015). https://doi.org/10.1145/2723372.2737784

  25. Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. SIGMOD Rec. 24(2), 1–10 (1995). https://doi.org/10.1145/568271.223785

    Article  Google Scholar 

  26. Codd, E.F.: Further normalization of the data base relational model. Research Report/RJ/IBM/San Jose, California RJ909 (1971)

    Google Scholar 

  27. Difallah, D.E., Pavlo, A., Curino, C., Cudre-Mauroux, P.: Oltp-bench: an extensible testbed for benchmarking relational databases. Proc. VLDB Endow. 7(4), 277–288 (2013). https://doi.org/10.14778/2732240.2732246

  28. Faleiro, J.M., Abadi, D.J., Hellerstein, J.M.: High performance transactions via early write visibility. Proc. VLDB Endow. 10(5), 613–624 (2017). https://doi.org/10.14778/3055540.3055553

  29. Gjengset, J., et al.: Noria: dynamic, partially-stateful data-flow for high-performance web applications. In: Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation, OSDI 2018, pp. 213–231. USENIX Association, USA (2018)

    Google Scholar 

  30. Harkins, P.B.: Lobste.rs access pattern statistics for research purposes. (2021). https://lobste.rs/s/cqnzl5/lobste_rs_access_pattern_statistics_for#c_hj0r1b Accessed 18 Jun 2021

  31. Leff, A., Rayfield, J.: Web-application development using the model/view/controller design pattern. In: Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference, pp. 118–127 (2001). https://doi.org/10.1109/EDOC.2001.950428

  32. Mu, S., Cui, Y., Zhang, Y., Lloyd, W., Li, J.: In: Extracting more concurrency from distributed transactions. In: Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation, OSDI 2014, pp. 479–494. USENIX Association, USA (2014)

    Google Scholar 

  33. Nah, F.F.H.: A study on tolerable waiting time: how long are web users willing to wait? Behav. Inf. Technol. 23(3), 153–163 (2004). https://doi.org/10.1080/01449290410001669914

    Article  Google Scholar 

  34. Nishtala, R., et al.: Scaling memcache at Facebook. In: 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2013), pp. 385–398. USENIX Association, Lombard (2013)

    Google Scholar 

  35. O’Neil, E.J.: Object/relational mapping 2008: hibernate and the entity data model (edm). In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, pp. 1351–1356. Association for Computing Machinery, New York (2008). https://doi.org/10.1145/1376616.1376773

  36. Pasareanu, C., Visser, W., Bushnell, D.H., Geldenhuys, J., Mehlitz, P., Rungta, N.: Symbolic pathfinder: integrating symbolic execution with model checking for java bytecode analysis. Autom. Softw. Eng. 20, 391–425 (2013). https://doi.org/10.1007/s10515-013-0122-2

    Article  Google Scholar 

  37. Patel, N.: Speed is a killer - why decreasing page load time can drastically increase conversions. https://neilpatel.com/blog/speed-is-a-killer/. Accessed 18 Jun 2021

  38. Ports, D.R.K., Clements, A.T., Zhang, I., Madden, S., Liskov, B.: Transactional consistency and automatic management in an application data cache. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, pp. 279–292. OSDI 2010, USENIX Association, USA (2010)

    Google Scholar 

  39. Păsăreanu, C.S., Rungta, N.: Symbolic pathfinder: symbolic execution of java bytecode. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE 2010, pp. 179–180. Association for Computing Machinery, New York (2010). https://doi.org/10.1145/1858996.1859035

  40. Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly Media, Inc (2008)

    Google Scholar 

  41. Shasha, D., Llirbat, F., Simon, E., Valduriez, P.: Transaction chopping: algorithms and performance studies. ACM Trans. Database Syst. 20(3), 325–363 (1995). https://doi.org/10.1145/211414.211427

    Article  Google Scholar 

  42. Sidirourgos, L., Kersten, M.: Column imprints: A secondary index structure. In: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, SIGMOD 2013, pp. 893–904. Association for Computing Machinery, New York (2013). https://doi.org/10.1145/2463676.2465306

  43. Wang, Z., Mu, S., Cui, Y., Yi, H., Chen, H., Li, J.: Scaling multicore databases via constrained parallel execution. In: Proceedings of the 2016 International Conference on Management of Data, SIGMOD 2016, pp. 1643–1658. Association for Computing Machinery, New York (2016). https://doi.org/10.1145/2882903.2882934

  44. Warszawski, T., Bailis, P.: Acidrain: concurrency-related attacks on database-backed web applications. In: Proceedings of the 2017 ACM International Conference on Management of Data, SIGMOD 2017, pp. 5–20. Association for Computing Machinery, New York (2017). https://doi.org/10.1145/3035918.3064037

  45. Xie, C., et al.: Salt: combining acid and base in a distributed database. In: Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation, OSDI 2014, pp. 495–509. USENIX Association, USA (2014)

    Google Scholar 

  46. Xie, C., Su, C., Littley, C., Alvisi, L., Kapritsos, M., Wang, Y.: High-Performance ACID via Modular Concurrency Control, p. 279–294. Association for Computing Machinery, New York (2015). https://doi.org/10.1145/2815400.2815430

  47. Yan, C., Cheung, A., Yang, J., Lu, S.: Understanding Database Performance Inefficiencies in Real-World Web Applications, pp. 1299–1308. Association for Computing Machinery, New York (2017). https://doi.org/10.1145/3132847.3132954

  48. Yang, J., Yan, C., Subramaniam, P., Lu, S., Cheung, A.: Powerstation: Automatically detecting and fixing inefficiencies of database-backed web applications in ide. In: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2018, pp. 884–887. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3236024.3264589

  49. Yang, J., Yan, C., Wan, C., Lu, S., Cheung, A.: View-centric performance optimization for database-backed web applications. In: Proceedings of the 41st International Conference on Software Engineering, ICSE 2019, pp. 994–1004. IEEE Press (2019). https://doi.org/10.1109/ICSE.2019.00104

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to XuJia Yao .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zhou, Z., Yao, X. (2021). Analyze and Evaluate Database-Backed Web Applications with WTool. In: U, L.H., Spaniol, M., Sakurai, Y., Chen, J. (eds) Web and Big Data. APWeb-WAIM 2021. Lecture Notes in Computer Science(), vol 12858. Springer, Cham. https://doi.org/10.1007/978-3-030-85896-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-85896-4_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-85895-7

  • Online ISBN: 978-3-030-85896-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics