As an asynchronous runtime environment (interpreter) for the development of scalable JavaScript-based network applications, it is necessary to know the performance of the web framework on Node.js in a virtualization-oriented development environment and a container-oriented development environment. This research aims to compare the performance of Node.js in several frameworks in VirtualBox, Docker, and Podman environments. The testing was carried out using some materials like a bench utility at Node Package Manager (NPM) involving the Adonis, Connect, Express, Fastify, Foxify, Hapi, Koa, Molecular, Plumier, Restify, and Sails frameworks, using Object Relational Mapping (ORM) and Raw Query Bookshelf, Knex, MySQL, MySQL2, and Sequelize at Ubuntu Linux operating system. The method research used in this research is the Node-Bench method with requests, latency, and throughput parameters. The testing results show that the best performance score is the Fastify framework with the Sequelize library (ORM) in a container-oriented development environment (Docker and Podman), and the worst performance score is the Express framework with the Mysql2 library (Raw Query) in a virtualization-oriented development environment (VirtualBox). Based on the testing results, developers who use Node.js are more advised to use the Fastify framework with the Sequelize library (ORM) in a container-oriented development environment (Docker or Podman) to obtain better performance. For further research, the implementation and testing at container-oriented development can use cloud-based service (IaaS cloud or PaaS Cloud) for the read-only immutable environment, scalability, and security reasons.Keywords— Docker, Node-Bench method, Node.js, Podman, VirtualBox.
Read full abstract