Skip to main content

Method for Evaluating the Performance of Web-Based APIs

  • Conference paper
  • First Online:
Smart Objects and Technologies for Social Good (GOODTECHS 2023)

Abstract

Application Programming Interfaces (APIs) are available in virtually every programming language. These interfaces make it easier to develop software by simplifying complex code into a more straightforward, manageable structure. APIs provide a standardized interface that allows different applications to communicate and connect easily, streamlining the software development process and making it more efficient and effective. Performance testing of a web API refers to evaluating the performance characteristics of an API accessible via the web. This process involves analyzing performance aspects such as response time, reliability, scalability, and resource utilization. This work defines a test battery using specific open-source tools to assess Web API performance. The tests used are load, stress, spike, and soak tests replicating various scenarios of the volume of users accessing the service or simulating a denial-of-service attack. These tests aim to determine how well an API can manage a substantial volume of traffic and transactions while upholding satisfactory performance standards. Applying Web API performance testing will also enable organizations to implement suitable measures for enhancing performance and guaranteeing smooth user interaction, pinpointing bottlenecks, constraints, or prospective problems in the API’s architecture and execution. These tests can also demonstrate the technology’s limitations and benchmarking, helping determine a more suitable production platform.

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 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.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. Hong, X.J., Yang, H.S., Kim, Y.H.: Performance analysis of restful API and RabbitMQ for microservice web application. In: 2018 International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Korea (South), pp. 257–259 (2018). https://doi.org/10.1109/ICTC.2018.8539409

  2. Fielding, R.T.: Architectural Styles and the Design of Network-Based Software Architectures. University of California (2000)

    Google Scholar 

  3. Karlsson, O.: A Performance comparison Between ASP. NET Core and Express. js for creating Web APIs. [Dissertation] (2021). http://urn.kb.se/resolve?urn=urn:nbn:se:hj:diva-54286

  4. Voskoglou, C.: APIs Have Taken over Software Development: Nordic Apis |. Nordic APIs, 20 October 2020. https://nordicapis.com/apis-have-taken-over-software-development/

  5. Bermbach, D., Wittern, E.: Benchmarking web API quality. In: Bozzon, A., Cudre-Maroux, P., Pautasso, C. (eds.) ICWE 2016. LNCS, vol. 9671, pp. 188–206. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-38791-8_11

    Chapter  Google Scholar 

  6. Kronis, K., Uhanova, M.: Performance comparison of Java EE and ASP. NET core technologies for web API development. Appl. Comput. Syst. 23(1), 37–44 (2018)

    Google Scholar 

  7. Karlsson, O.: A Performance comparison between ASP. NET Core and Express. js for creating Web APIs (2021)

    Google Scholar 

  8. Rathod, D.: Performance evaluation of restful web services and soap/wsdl web services. Int. J. Adv. Res. Comput. Sci. 8(7), 415–420 (2017)

    Article  Google Scholar 

  9. Akbulut, A., Perros, H.G.: Performance analysis of microservice design patterns. IEEE Internet Comput. 23(6), 19–27 (2019)

    Article  Google Scholar 

  10. El Malki, A., Zdun, U.: Combining API Patterns in Microservice Architectures: Performance and Reliability Analysis (2023)

    Google Scholar 

  11. Geewax, J.J.: API design patterns. Simon and Schuster (2021)

    Google Scholar 

  12. Maleshkova, M., Pedrinaci, C., Domingue, J.: Investigating web APIs on the world wide web. In: 2010 Eighth IEEE European Conference on Web Services, Ayia Napa, Cyprus, pp. 107–114 (2010). https://doi.org/10.1109/ECOWS.2010.9

  13. Vainikka, J.: Full-stack web development using Django REST framework and React (2018)

    Google Scholar 

  14. Richardson, L., Amundsen, M., Ruby, S.: RESTful Web APIs: Services for a Changing World. O’Reilly Media, Inc., Sebastopol (2013)

    Google Scholar 

  15. Ong, S.P., et al.: The materials application programming interface (API): a simple, flexible and efficient API for materials data based on representational state transfer (REST) principles. Comput. Mater. Sci. 97, 209–215 (2015)

    Article  Google Scholar 

  16. Neumann, A., Laranjeiro, N., Bernardino, J.: An analysis of public REST web service APIs. IEEE Trans. Serv. Comput. 14(4), 957–970 (2018)

    Article  Google Scholar 

  17. Halili, F., Ramadani, E.: Web services: a comparison of soap and rest services. Mod. Appl. Sci. 12(3), 175 (2018)

    Article  Google Scholar 

  18. Sohan, S.M., Anslow, C., Maurer, F.: A case study of web API evolution. In: 2015 IEEE World Congress on Services. IEEE (2015)

    Google Scholar 

  19. Archip, A., Amarandei, C.M., Herghelegiu, P.C., Mironeanu, C.: RESTful web services-a question of standards. In: 2018 22nd International Conference on System Theory, Control and Computing (ICSTCC), pp. 677–682. IEEE, October 2018

    Google Scholar 

  20. Noura, M., Atiquzzaman, M., Gaedke, M.: Interoperability in internet of things: taxonomies and open challenges. Mob. Netw. Appl. 24, 796–809 (2019)

    Article  Google Scholar 

  21. Michel, F., Faron-Zucker, C., Corby, O., Gandon, F.: Enabling automatic discovery and querying of web APIs at web scale using linked data standards. In: Companion Proceedings of the 2019 World Wide Web Conference, pp. 883–892, May 2019

    Google Scholar 

  22. Ozdemir, E.: A general overview of RESTful web services. Applications and approaches to object-oriented software design: emerging research and opportunities, pp. 133–165 (2020)

    Google Scholar 

  23. Coarfa, C., Druschel, P., Wallach, D.S.: Performance analysis of TLS web servers. ACM Trans. Comput. Syst. (TOCS) 24(1), 39–69 (2006)

    Article  Google Scholar 

  24. Chakraborty, M., Kundan, A.P.: Grafana. Monitoring Cloud-Native Applications, pp. 187–240. Apress, Berkeley, CA (2021)

    Google Scholar 

  25. Dogan, J.: RAKYLL/Hey: HTTP Load Generator, ApacheBench (AB) Replacement. GitHub, Rakyll. https://github.com/rakyll/hey/

  26. Deliver Fast and Reliable Digital Experiences with K6. k6, K6 Grafana Labs. https://k6.io/deliver-fast-and-reliable-digital-experiences-with-k6/

  27. Khan, R., Amjad, M.: Web application’s performance testing using HP LoadRunner and CA Wily introscope tools. In: 2016 International Conference on Computing, Communication and Automation (ICCCA), Greater Noida, India, pp. 802–806 (2016). https://doi.org/10.1109/CCAA.2016.7813849

  28. Harrold, M.J.: Testing: a roadmap. In: Proceedings of the Conference on the Future of Software Engineering (2000)

    Google Scholar 

  29. Jiang, Z.M., Hassan, A.E.: A survey on load testing of large-scale software systems. IEEE Trans. Softw. Eng. 41(11), 1091–1118 (2015). https://doi.org/10.1109/TSE.2015.2445340

  30. Apache MPM Common Directives. mpm_common - Apache HTTP Server Version 2.4, The Apache Software Foundation. https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxrequestworkers

  31. NGINX - Core Functionality. NGINX. http://nginx.org/en/docs/ngx_core_module.html#worker_connections

  32. Malik, H., Jiang, Z.M., Adams, B., Hassan, A.E., Flora, P., Hamann, G.: Automatic comparison of load tests to support the performance analysis of large enterprise systems. In: 2010 14th European Conference on Software Maintenance and Reengineering, Madrid, Spain, pp. 222–231 (2010). https://doi.org/10.1109/CSMR.2010.39

  33. Malik, H., Hemmati, H., Hassan, A.E.: Automatic detection of performance deviations in the load testing of large scale systems. In: 2013 35th International Conference on Software Engineering (ICSE). IEEE (2013)

    Google Scholar 

  34. Hasanpuri, V., Diwaker, C.: Comparative analysis of techniques for big-data performance testing. In: 2022 Seventh International Conference on Parallel, Distributed and Grid Computing (PDGC). IEEE (2022)

    Google Scholar 

Download references

Acknowledgements

This work is funded by FCT/MEC through national funds and co-funded by FEDER—PT2020 partnership agreement under the project UIDB/50008/2020. This work is partially funded by National Funds through the FCT - Foundation for Science and Technology, I.P., within the scope of the projects UIDB/00308/2020, UIDB/05583/2020 and MANaGER (POCI-01-0145-FEDER-028040). Furthermore, we would like to thank the Polytechnics of Coimbra and Santarém for their support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to António Godinho .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Godinho, A., Rosado, J., Sá, F., Cardoso, F. (2024). Method for Evaluating the Performance of Web-Based APIs. In: Coelho, P.J., Pires, I.M., Lopes, N.V. (eds) Smart Objects and Technologies for Social Good. GOODTECHS 2023. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 556. Springer, Cham. https://doi.org/10.1007/978-3-031-52524-7_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-52524-7_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-52523-0

  • Online ISBN: 978-3-031-52524-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics